1
我使用PIVOT生成的臨時表(因此,這將是具有列的動態數)。而我有一個名爲dbo.User加入臨時表和實際表相同的列
我的臨時表是一個SQL表從審計表生成。這將與dbo.User表具有相同的列名稱。所以現在我必須選擇當兩個表中存在相同的列時,我必須從temp中選擇值而不是User表。我不認爲這是一個簡單的別名方法加入。請建議我。
在此先感謝..
代碼:
@cols給我從審計表中的列名(這是關係到用戶表)我不知道列在此數,動態數列
set @query = 'SELECT DISTINCT *, ' + @cols + '
FROM
(
select
e.USER_KEY,
e.FIELD_NAME+''_AUDIT'' AS FIELD_NAME_AUDIT,
e.PREVIOUS_DATA as DATA
FROM temp e
) x
pivot
(
max(DATA)
for FIELD_NAME_AUDIT in (' + @cols + ')
) p
INNER JOIN USER xyz ON xyz.USER_KEY = p.USER_KEY'
EXEC sp_executesql @query;
我已經附加「_AUDIT」列名作爲從實際的表列名分開,因爲當我使用內部連接存在一些模糊的錯誤。
你有一個示例查詢,你已經嘗試過,並沒有工作? – maksimov