MS Access UNION 쿼리에서 정렬된 결과 마스터하기
MS Access에서 UNION
쿼리를 사용하여 여러 테이블의 데이터를 결합하면 최종 출력을 정렬하려고 할 때 종종 문제가 발생합니다. 다음과 같은 순진한 접근 방식:
SELECT table1.field1 FROM table1 ORDER BY table1.field1 UNION SELECT table2.field1 FROM table2 ORDER BY table2.field1
MS Access Jet 데이터베이스 엔진 내에서는 원하는 정렬 결과가 생성되지 않습니다.
해결책은 ORDER BY
절을 전략적으로 배치하는 것입니다. 전체 UNION
쿼리에 적용하는 대신 Union 내의 각 개별 SELECT
문에 적용하세요. 이는 하위 쿼리를 생성하여 달성됩니다.
SELECT * FROM ( SELECT table1.field1 FROM table1 ORDER BY table1.field1 ) AS DUMMY_ALIAS1 UNION ALL SELECT * FROM ( SELECT table2.field1 FROM table2 ORDER BY table2.field1 ) AS DUMMY_ALIAS2
이 수정된 쿼리는 각각 자체 ORDER BY
절이 있는 두 개의 하위 쿼리를 사용하여 각 데이터 세트가 와 결합되기 전에UNION ALL
독립적으로 정렬되도록 합니다. AS DUMMY_ALIAS1
및 AS DUMMY_ALIAS2
절은 이 접근 방식이 MS Access에서 올바르게 작동하는 데 필요한 하위 쿼리에 대한 별칭을 제공합니다. 그러면 결과 통합은 병합되고 정렬된 데이터를 표시합니다. 중복을 제거하는 UNION ALL
과 달리 모든 행을 포함하는 UNION
를 사용한다는 점에 유의하세요.
위 내용은 MS Access에서 UNION 쿼리 결과를 프로그래밍 방식으로 정렬하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!