組合表進行統一輸出
簡介:
在處理多個表時,有必要將它們合併以提供全面且有意義的輸出。組合表涉及連接、並集和聚合等技術。
問題陳述:
目前的任務是將兩個表(KnownHours 和 UnknownHours)組合成一個輸出,按 ChargeNum 和 CategoryID 對小時進行分組,忽略月份。
表格詳細資料:
Table | Column | Description |
---|---|---|
KnownHours | ChargeNum | Unique charge number |
KnownHours | CategoryID | Category associated with the charge |
KnownHours | Month | Month when the charge was incurred |
KnownHours | Hours | Known hours for the charge |
UnknownHours | ChargeNum | Unique charge number |
UnknownHours | Month | Month when the charge was incurred |
UnknownHours | Hours | Unknown hours for the charge |
期望輸出:
期望輸出是具有以下結構的單一表:
Table | Column | Description |
---|---|---|
Consolidated | ChargeNum | Unique charge number |
Consolidated | CategoryID | Category associated with the charge or 'Unknown' |
Consolidated | Hours | Total hours for the charge |
解:
為了獲得所需的輸出,我們將利用SQL 中的 UNION 操作。 UNION 將多個查詢的結果合併到一個表格中。在本例中,我們將執行兩個查詢,一個針對 KnownHours 表,另一個針對 UnknownHours 表。這些查詢將聚合每個 ChargeNum 和 CategoryID 的小時數(以及 UnknownHours 的「Unknown」)。
KnownHours 表的第一個查詢:
UnknownHours 表的第二個查詢:
最後,我們將使用UNION 組合這兩個查詢的結果ALL:
此UNION ALL操作會將兩個查詢的結果連接到一個表格中,提供所需的輸出。
以上是我們如何將已知時間和未知時間表合併為統一時間報告?的詳細內容。更多資訊請關注PHP中文網其他相關文章!