0
私はSQL Serverの新機能です。私はこのためにストアドプロシージャを記述します:SQL Server FORループ
私がテーブルにある行数を知りません。私はX
とZ
列をグループ化し、Y
列のテキストはX
とZ
列に属していました。
私は2つのループでこれを行うことができます。私はSQL Serverで使うことができる短い方法はありますか?
私はSQL Serverの新機能です。私はこのためにストアドプロシージャを記述します:SQL Server FORループ
私がテーブルにある行数を知りません。私はX
とZ
列をグループ化し、Y
列のテキストはX
とZ
列に属していました。
私は2つのループでこれを行うことができます。私はSQL Serverで使うことができる短い方法はありますか?
使用STUFF
String関数:
CREATE TABLE #table(X VARCHAR(10), Y VARCHAR(10) , name VARCHAR(10))
INSERT INTO #table(X , name , Y)
SELECT 'a','as','b' UNION ALL
SELECT 'a','ad','b' UNION ALL
SELECT 'a','de','b' UNION ALL
SELECT 'b','aa','c' UNION ALL
SELECT 'b','ss','c' UNION ALL
SELECT 'e','ew','r' UNION ALL
SELECT 'e','w','r' UNION ALL
SELECT 'e','ss','r' UNION ALL
SELECT 'e','dd','r'
SELECT T1.X X , STUFF((SELECT ' ' + name FROM #table T2 WHERE T1.X = T2.X
AND T1.Y = T2.Y FOR XML PATH('')) ,1,2,'') Y , T1.Y Z
FROM #table T1
GROUP BY X , Y
おかげで、これは私が考えるsorthest方法です:) –