집 >데이터 베이스 >MySQL 튜토리얼 >SQL을 사용하여 구조가 서로 다른 여러 테이블을 단일 통합 출력 테이블로 결합하려면 어떻게 해야 합니까?
통합 출력을 위한 테이블 결합
테이블을 병합하여 다양한 데이터 조작 결과를 얻을 수 있습니다. 일반적인 작업 중 하나는 추가 분석을 위해 여러 테이블의 데이터를 단일 테이블로 통합하는 것입니다. 다음 시나리오를 고려해 보십시오.
요금 번호와 관련된 시간 데이터가 포함된 KnownHours 및 UnknownHours라는 두 개의 테이블이 있습니다. 목표는 월에 관계없이 이러한 시간을 다음 형식의 단일 테이블로 그룹화하는 것입니다.
ChargeNum CategoryID Hours 111111 1 90 111111 2 50 111111 Unknown 110.5 222222 1 40 222222 Unknown 25.5
이 시나리오에서는 ChargeNum 및 CategoryID(또는 UnknownHours의 경우 "알 수 없음"). 이를 달성하려면 UNION 연산자를 활용할 수 있습니다.
SELECT ChargeNum, CategoryID, SUM(Hours) FROM KnownHours GROUP BY ChargeNum, CategoryID UNION ALL SELECT ChargeNum, 'Unknown' AS CategoryID, SUM(Hours) FROM UnknownHours GROUP BY ChargeNum
이 SQL 문은 두 쿼리의 결과를 결합합니다. 첫 번째 쿼리는 KnownHours 테이블의 시간을 ChargeNum 및 CategoryID별로 그룹화하고 합산합니다. 두 번째 쿼리는 UnknownHours 테이블의 시간을 ChargeNum으로 그룹화하고 합계한 후 CategoryID 'Unknown'을 할당합니다.
UNION ALL을 사용하여 결과를 결합하면 최종 테이블에 두 쿼리의 행이 모두 포함됩니다. SUM() 집계 함수를 사용하면 ChargeNums 및 CategoryID가 일치하는 데 필요한 시간이 누적됩니다.
이 기술을 사용하면 테이블을 효율적으로 병합하여 데이터의 통합 보기를 생성할 수 있습니다.
위 내용은 SQL을 사용하여 구조가 서로 다른 여러 테이블을 단일 통합 출력 테이블로 결합하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!