0
我想實現一個動態的數據透視表,其中兩個表連接在一起,一組圖像成爲他們自己的列。動態sql樞紐加入
表1:
house_id name value
1 image image1.jpg
1 image image2.jpg
1 image image3.jpg
表2:
id updated_at house_name
1 2016-12-02 House 1
我希望它看起來像這樣:
house_id updated_at house_name image1 image2 image3
1 2016-12-02 House 1 image1.jpg image2.jpg image3.jpg
我想通過一個動態的SQL支點來實現這一點,但我無法讓它工作(即使沒有加入):
DECLARE @cols AS NVARCHAR(MAX)='';
DECLARE @query AS NVARCHAR(MAX)='';
SELECT @cols = @cols + QUOTENAME(name) + ',' FROM (select distinct name from #table1) as house_meta
select @cols = substring(@cols, 0, len(@cols)) --trim "," at end
set @query =
'SELECT * from
(
select house_id, name, value from #table1
) src
pivot
(
max(value) for name in (' + @cols + ')
) piv'
execute(@query)
有沒有辦法做到這一點,而無需使用一個支點? – Ellinor
這取決於。如果任務只是一次遷移數據的操作,那麼我試圖創建一個新表,然後逐行填充它的遊標 –