下面的文章很接近,但我無法滿足我的需要:
上面的腳本回傳上面的第二個 pure 減去所需的列“引數”。
我可以獲得此列,但不能使用 UNPIVOT 配對 RPL 和 Result 列 在我的資料庫中有幾個“OtherData”列,以及 CrossApply 和/或 UNPIVOT 的幾對列。
以下包括我需要的引數列,它是第二個配對列標題之一。

任何幫助表示贊賞。
uj5u.com熱心網友回復:
你很近。請參閱下一個執行緒中鏈接的“Unpivoting”示例。
SELECT t.[GivenDay]
, t.[OtherData]
, v.[Param]
, v.[RPL]
, v.[Result]
FROM [dbo].[tst_CrossApply] t
CROSS APPLY (
VALUES ('COD', [CODRPL], [COD])
, ('BOD', [BODRPL], [BOD])
) v ([Param], [RPL],[Result])
2022-03-02 更新
我不知道使用UNPIVOT的簡單替代方法。我能得到的最接近的比僅僅使用 CROSS APPLY 更令人費解
SELECT cod.GivenDay, cod.OtherData, cod.Param, cod.RPL, cod.Result
FROM (
SELECT GivenDay, OtherData, COD, CODRPL AS RPL
FROM [dbo].[tst_CrossApply] t
) pvt
UNPIVOT
(
Result FOR Param IN (COD)
) AS cod
UNION ALL
SELECT bod.GivenDay, bod.OtherData, bod.Param, bod.RPL, bod.Result
FROM (
SELECT GivenDay, OtherData, BOD, BODRPL AS RPL
FROM [dbo].[tst_CrossApply] t
) pvt
UNPIVOT
(
Result FOR Param IN (BOD)
) AS bod
ORDER BY GivenDay, OtherData, Param
db<>在這里擺弄
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/436447.html
