請考慮以下情況。有 2 個表:Core 和 History。核心如下
| 硬體日期開始 | 硬體日期結束 | 硬體佇列ID |
| 2022-05-29 10:00:00 | 2022-06-04 00:45:00 | WIN-S671INNTGRE.P00-K0-01 |
| 2022-05-29 10:00:00 | 2022-06-04 00:45:00 | WIN-S671INNTGRE.P00-K0-02 |
歷史如下
| cnt日期時間 | cnt序列號 | cntQueueName | 佇列ID |
| 2022-05-29 02:28:00 | SN01-01 | p00-0000-01 | WIN-S671INNTGRE.P00-K0-01 |
| 2022-05-29 02:28:00 | SN02-01 | p00-0000-02 | WIN-S671INNTGRE.P00-K0-02 |
| 2022-06-04 00:26:00 | SN02-02 | p00-0000-02 | WIN-S671INNTGRE.P00-K0-02 |
| 2022-06-04 00:26:00 | SN01-01 | p00-0000-01 | WIN-S671INNTGRE.P00-K0-01 |
History 包含一個 cntSerialNumber 隨時間變化的串列 以下腳本為用戶提供了在某個時期的開始和結束時的 SerialNumber
SELECT Convert(date,[HWDateStart])
,Convert(date,[HWDateEnd])
,[HWQueueID]
, HS.cntSerialNumber
, HE.cntSerialNumber
FROM [watchdocstats].[dbo].[tblJT] SNTarget,
[watchdocstats].[dbo].[tblQueueByConfig] HS,
[watchdocstats].[dbo].[tblQueueByConfig] HE
WHERE
SNTarget.HWQueueID = HS.cntQueueID
AND SNTarget.HWQueueID = HE.cntQueueID
AND Convert(date,SNTarget.HWDateStart) = Convert(date,HS.cntDatetime)
AND Convert(date,SNTarget.HWDateEnd) = Convert(date,HE.cntDatetime)
但是,如果 SerialNumber 已經多次更改了怎么辦?有沒有辦法選擇一個表格,在 cntSerialNumber 列中顯示逗號分隔的 SerialNumbers?嗯,喜歡
| (開始) | (結尾) | 硬體佇列ID | cntSNHist |
| 2022-05-29 | 2022-06-04 | WIN-S671INNTGRE.P00-K0-01 | SN01-01 |
| 2022-05-29 | 2022-06-04 | WIN-S671INNTGRE.P00-K0-02 | SN02-01,SN02-02,SN02-03 |
uj5u.com熱心網友回復:
根據您的 DBMS,您應該能夠將 LISTAGG 函式與 GROUP BY 子句一起使用
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/486207.html
上一篇:SQL將行轉換為列
下一篇:如何在MySQL中使用回圈?
