Я должен потянуть список целочисленных ID от стола, используя, только делает запись того матча некоторые критерии. Например:
Select ProdID From Products Where (ProdType='XYZ');
Выгода - то, что я должен возвратить его, поскольку ряд запятой отделил ценности, таким образом, я могу использовать его, чтобы выбрать пункты в мультиизбранном списке:
111,231,554,112
вместо как отчеты. Я не хочу делать это в своем кодексе C# - я хотел бы, чтобы он прибыл прямо из базы данных через вопрос этот путь. Какие-либо идеи?
В дополнение к методу @OMG POни, вы также можете попробовать это увлечение соалюсезом от:
с использованием COMESCE для создания строк с разделителями запятую
declare @string nvarchar(255)
select @string = coalesce(@string + ', ', '') + cast(prodid as nvarchar(5))
from products
Для SQL Server см. Здесь: Concateнатные значения из нескольких строк в один столбец
SELECT GROUP_CONCAT(t.prodid SEPARATOR ',')
FROM PRODUCTS t
WHERE t.prodtype = 'XYZ'
Существует отличное резюме техники доступных методов агрегации строк на сайте Тим Холла.
SELECT STUFF((SELECT ','+ t.prodid
FROM PRODUCTS t
WHERE t.prodtype = 'XYZ'
FOR XML PATH('')), 1, 1, '')