고유한 날짜가 있는 테이블 병합
SQL에서는 고유한 날짜 값을 유지하면서 두 테이블을 병합하는 것이 일반적인 작업입니다. Inbound 및 Outbound 테이블을 병합하는 문제에 대한 해결책은 다음과 같습니다.
첫 번째 단계는 UNION ALL 연산자를 사용하여 테이블을 병합하는 것입니다. 이 연산자는 중복 항목을 제거하지 않고 두 테이블의 행을 결합합니다.
(SELECT Inbound_Date As Date, Product, SUM(Quantity) as Inbound, 0 as Outbound FROM Inbound GROUP BY 1,2 ) UNION ALL (SELECT Outbound_Date, Product, 0 as Inbound, COUNT(*) as Outbound FROM Outbound GROUP BY 1,2 )
다음으로 중복 날짜를 제거해야 합니다. 이를 위해 GROUP BY 절을 사용하여 날짜와 제품이 동일한 행을 통합합니다.
SELECT Date, Product, SUM(Inbound) as Inbound, SUM(Outbound) as Outbound FROM ((SELECT Inbound_Date As Date, Product, SUM(Quantity) as Inbound, 0 as Outbound FROM Inbound GROUP BY 1,2 ) UNION ALL (SELECT Outbound_Date, Product, 0 as Inbound, COUNT(*) as Outbound FROM Outbound GROUP BY 1,2 ) ) io GROUP BY Date, Product;
이 최종 쿼리는 원하는 대로 고유한 날짜 값이 있는 테이블을 생성합니다. 출력은 제공한 예시와 유사합니다.
Date Product Inbound Outbound 2017-05-13 Product A 400 1 2017-09-04 Product C 380 0 2017-10-18 Product C 0 1 : : : : : : : : 2018-09-10 Product B 200 1 : : : : : : : :
위 내용은 SQL 테이블을 병합하고 고유한 날짜 값을 보장하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!