2012-05-17 32 views
1

我在表3列:鞏固和mysql的表中的列將數據添加到新線到現場

 
Id  State  Type 
1  NJ   Form1 
1  NY   Form 2 
1  TX   Form 3 

我想將它整合到數據表Y一列:

 
Id FormTypes 
1 NJ:Form1 
    NY:Form2 
    TX: Form3 

這是可能實現?

目前,我已經做了這麼多:

DECLARE @NewLine as char(2) = char(13) + char (10) 

UPDATE tableY 

SET FormTypes = 
(
     select substring(
     (select ':'+ [State] + ':'+ Type+ @NewLine AS 'data()' 
      from tableX 
      for xml path('')) 
     ,3, 255) 
as "MyList" ) 

這是給我的垃圾是這樣的:

NJ:Form1'&#x0D'; NY:Form2'&#x0D'; TX:Form3'&#x0D'; 

之所以得到它以這種形式是因爲它越來越方式讀入多個文件。

回答

1
SELECT 
    x2.id, 
    STUFF((SELECT char(10)+x1.State+':'+x1.Type FROM tableX x1 WHERE x1.id=x2.id GROUP BY x1.id for xml path(''),TYPE),1,1,'') as stype 
FROM tableX x2 
GROUP BY x2.id 

這會給你tableY形式

+0

GROUP_CONCAT是預先定義的? – Nilish

+0

@Nilish Tag表示這是針對mysql的。但我認爲它被編輯到SQL Server。我已編輯我的帖子 –

+0

但它仍然不會以新的方式提供結果。 – JJunior