2011-10-13 151 views
-1

我有如何從表A中的數據更新爲表B中,並在從vertical..example水平的一個問題是SQL服務器代碼(UPDATE)

Table A    -----------  Table B 

ID ----- Item  -----------  ID ------Item 

11---  iPhone4  -----------  11 ------iPhone4,iPhone4s,iPhone5 
11---  iPhone4s 
11---  iPhone5 

意味着從3行成爲1行。 請幫忙,在這種情況下確實是noob .. 謝謝

+1

適當調整你的代碼和表結構 – rahularyansharma

+1

你爲什麼要這麼做?你應該閱讀[數據庫規範化](http://www.dbnormalization.com/)。另外,當3種不同的產品具有相同的ID時,它有點違背了目的。 –

+0

你想'Item'爲一列還是你想要3'Item'列? – Filburt

回答

0

試試這個..使用GROUP_CONCAT在一行中合併你想合併的行。

SELECT ID,GROUP_CONCAT(item) 
    FROM yourtable 
GROUP BY ID; 
1

嘗試用這個..

Select ID,   
Left(Item,Len(Item)-1) As Items 
From(
    Select distinct T2.ID, 
    (Select 
    T1.Item + ',' AS [text()]    
    From TableA T1       
    where T1.ID = T2.ID 
    For XML PATH ('')) [item]  
    From dbo.TableA T2 
    ) t