Załóżmy, że mamy proste zapytanie tak:Jak utworzyć listę wyników T-SQL z przecinkiem między nimi?
SELECT x
FROM t
WHERE t.y = z
Jeśli mamy jeden rekord w tabeli wynikowej, chcę ustawić zmienną @v
do tej jednej wartości. Jeśli mamy dwa lub więcej rekordów, chciałbym, aby wyniki były rozdzielone przecinkiem i spacją. Jaki jest najlepszy sposób napisania tego kodu T-SQL?
Przykład:
zestaw wynikiem 1 rekord:
Value1
wynik zestaw 2 płyt:
Value1, Value2
wynik zestaw 3 płyt:
Value1, Value2, Value3
'Co jest najlepszym sposobem' "Najlepsza" jest subiektywna .. zależy od tego, czego szukasz. Czy mógłbyś to sprecyzować? Czy * trzeba * wykonywać całkowicie w T-SQL lub czy można użyć rozwiązania na kliencie? –
Czy to dotyczy? http://stackoverflow.com/questions/1048209/concatenating-column-values-into-a-comma-separated-list – MatthewMartin
Po prostu chcę napisać ogólną funkcję do tego celu. zwykle obsługuję je w .NET kod po uzyskaniu wyników, ale chciałbym zrobić to w SQL – MacGyver