我有一個包含三列的表格。值列始終是NULL
。我知道如何將行轉置爲列,但我也想用'X'來標識單元格。轉置和標識帶有標誌的單元格
表
EditorTypeSymbolicName ClaimFieldSymbolicName Value
01 AA NULL
01 BB NULL
01 CC NULL
02 BB NULL
02 CC NULL
03 AA NULL
這裏是我的代碼
DECLARE @cols NVARCHAR(MAX), @sql NVARCHAR(MAX)
SET @cols = STUFF((SELECT DISTINCT ',' + QUOTENAME(ClaimFieldSymbolicName)
FROM #TempEditElements
ORDER BY 1
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)'),1,1,'')
SET @sql = 'SELECT EditorTypeSymbolicName, ' + @cols + '
FROM
(
select EditorTypeSymbolicName, ClaimFieldSymbolicName, Value
from #TempEditElements
) s
PIVOT
(
MAX(Value) FOR ClaimFieldSymbolicName IN (' + @cols + ')
) p
order by EditorTypeSymbolicName'
EXECUTE(@sql)
我的代碼對調,但我不知道如何與「X」標誌他們。我所要的輸出如:
EditorTypeSymbolicName AA BB CC
01 X X X
02 NULL X X
03 X NULL NULL
電流輸出看起來像這樣
EditorTypeSymbolicName AA BB CC
01 NULL NULL NULL
02 NULL NULL NULL
03 NULL NULL NULL
你說的_identify_是什麼意思?您是否想將結果限制爲_Value_列中包含「X」的行? –
電流輸出是什麼樣的?你能補充一點嗎? –
@TT - 新增當前輸出。 – user176047