>데이터 베이스 >MySQL 튜토리얼 >SQL을 사용하여 구조가 서로 다른 여러 테이블을 단일 통합 출력 테이블로 결합하려면 어떻게 해야 합니까?

SQL을 사용하여 구조가 서로 다른 여러 테이블을 단일 통합 출력 테이블로 결합하려면 어떻게 해야 합니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-22 02:00:12430검색

How Can I Combine Multiple Tables with Different Structures into a Single Unified Output Table Using 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.