2016-12-02 86 views
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) 

回答

0

沒有辦法用骨料運營image數據類型,所以你不能使用PIVOT這裏

+0

有沒有辦法做到這一點,而無需使用一個支點? – Ellinor

+0

這取決於。如果任務只是一次遷移數據的操作,那麼我試圖創建一個新表,然後逐行填充它的遊標 –