2016-04-14 13 views
1

SQL Server 2008 R2 ile çalışıyorum. Şu anda step tabloda 197 satır olduğundaSQL: Sütunun tüm satır değerlerini tek bir değer olarak nasıl alabilirim?

CREATE TABLE step 
(
    id int IDENTITY(1,1) NOT NULL PRIMARY KEY, 
    step_value nvarchar(max) NOT NULL 
) 

:

Bu

benim tablodur. step_value sütununun tüm değerlerini, bir alt kolon ayırıcısıyla tek bir değer olarak almak istiyorum. Bunu nasıl yapabilirim?

Bazı örnek veriler:

Insert Into step(step_value) 
Values ('a'),('b'),('c'),('d'),('<workflow name="DISCIPLINE_LETTER">'), (' <target>MEETING_INITIAL_MEETING_LETTER</target> ') 

Teşekkür

cevap

0

Kullanım STUFF fonksiyonu

select stuff(
(select '; ' + step_value 
from step 
for xml path(''), root('MyString'), type 
).value('/MyString[1]','nvarchar(max)') 
, 1, 2, '') as step_values ; 

FIDDLE

+0

bu işe yaramadı. – srh

+0

teşekkürler. ancak sütunda < and > gibi karakterler var ve bunları ve >'a çevirirken çalışmaz. Kesinlik değerlerine ihtiyacım var – srh

+0

@srh Kemandaki bazı örnek verileri ekle – Mihai

0
SELECT TOP 1 (STUFF((SELECT ', ' + CAST(id AS VARCHAR(MAX)) 
     FROM step 
     FOR XML PATH ('')), 1, 2, '')) AS a 
FROM step 
İlgili konular