組合表以實現統一輸出
可以合併表以實現各種資料操作結果。一項常見任務是將多個表中的資料合併到一個表格中以進行進一步分析。考慮以下場景:
您有兩個表,KnownHours 和 UnknownHours,其中包含與費用編號關聯的小時數資料。您的目標是將這些小時數(無論月份如何)分組到具有以下格式的單一表中:
ChargeNum CategoryID Hours 111111 1 90 111111 2 50 111111 Unknown 110.5 222222 1 40 222222 Unknown 25.5
在此場景中,您需要聚合ChargeNum 和CategoryID(或「未知」表示未知時間)。為此,您可以利用 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 語句組合了兩個查詢的結果。第一個查詢按 ChargeNum 和 CategoryID 對 KnownHours 表中的小時數進行分組和求和。第二個查詢依 ChargeNum 將 UnknownHours 表中的小時數分組和求和,並指派 CategoryID「Unknown」。
透過使用 UNION ALL 組合結果,最終表包含兩個查詢中的行。 SUM() 聚合函數可確保為符合 ChargeNum 和 CategoryID 累積小時數。
使用此技術,您可以有效地合併表格以建立資料的合併視圖。
以上是如何使用SQL將多個不同結構的表合併為一個統一的輸出表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!