我真的不知道如何說這個,但我想要將一列的值移動到另一行,根據條件。移動列值和組由
一些UnitNumbers只有一個InsuranceIDs,其他的有兩個。
我想將第二個InsuranceID放在他們自己的列中,但與第一個相同。
我有這樣的:
SELECT v.UnitNumber, InsuranceOrderID, ord.InsuranceID
FROM Visits v
INNER JOIN BarInsuranceOrder ord
ON ord.VisitID=v.VisitID
它返回這樣的:
UnitNumber InsuranceOrderID InsuranceID
---------- ---------------- -----------
M7090226 1 UNITEDMCD
M2133443 1 MCR
M2133443 2 NEWERASUP
M2173835 1 MCRCAREIMP
M2173835 2 MCD
M2179062 1 MCD
M2165847 1 AMERIGROUP
但我期待回到這樣的事情:
UnitNumber InsuranceID SecondaryIns
---------- ----------- -----------
M7090226 UNITEDMCD
M2133443 MCR NEWERASUP
M2173835 MCRCAREIMP MCD
M2179062 MCD
M2165847 AMERIGROUP
這是據我已經得到了,但我認爲它沒有朝着正確的方向發展:
SELECT v.UnitNumber
, (CASE WHEN InsuranceOrderID = '1' THEN ord.InsuranceID ELSE '-' END) [PrimaryIns]
, (CASE WHEN InsuranceOrderID = '2' THEN ord.InsuranceID ELSE '-' END) [SecondaryIns]
FROM Visits v
INNER JOIN BarInsuranceOrder ord
ON ord.VisitID=v.VisitID
UnitNumber InsuranceID SecondaryIns
---------- ----------- -----------
M7090226 UNITEDMCD -
M2133443 MCR -
M2133443 - NEWERASUP
M2173835 MCRCAREIMP -
M2173835 - MCD
M2179062 MCD -
M2165847 AMERIGROUP -
我對SQL相當陌生,所以任何幫助表示讚賞。
這也適用。不需要樞軸。謝謝 – dhyman