下の表を確認してください
Code Name
-----------
001 A
001 B
私の質問は
Select Code,Name from TableA
しかし、私は次のようなレコードが必要です
Code Name
------------
001 A,B
どうやってやるの?
下の表を確認してください
Code Name
-----------
001 A
001 B
私の質問は
Select Code,Name from TableA
しかし、私は次のようなレコードが必要です
Code Name
------------
001 A,B
どうやってやるの?
MySQLとは異なりSQL Server
、このための組み込み関数はありませんがCROSS APPLY
、FOR XML PATH('')
SELECT a.Code,
SUBSTRING(d.[Name],1, LEN(d.[Name]) - 1) AddressList
FROM
(
SELECT DISTINCT Code
FROM TableA
) a
CROSS APPLY
(
SELECT [Name] + ', '
FROM TableA AS B
WHERE A.[Code] = B.[Code]
FOR XML PATH('')
) D ([Name]) ;
を使用できますCOALESCE
。次のサンプルはこれを変えます
こんにちは
世界
これは
自分
これに
こんにちは、世界、それは、私です
DECLARE @test NVARCHAR(2000)
SELECT @test = COALESCE(@test + ', ', '') + Field FROM Sampletable WHERE … AND Field IS NOT NULL
SELECT @test
これをサンプルに適合させることができるはずです。