首頁 > 資料庫 > mysql教程 > 如何使用SQL將多個不同結構的表合併為一個統一的輸出表?

如何使用SQL將多個不同結構的表合併為一個統一的輸出表?

Barbara Streisand
發布: 2024-12-22 02:00:12
原創
388 人瀏覽過

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(或「未知」表示未知時間)。為此,您可以利用 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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板