Мне интересно, существует ли простой способ конкатенации строки на основе значения поля непосредственно в SQL. Я знаю, что было бы предпочтительнее делать в приложении, но в этом случае я могу использовать только SQL. Например, в следующей таблице:Конкатенация строки SQL на основе значения поля
Labels | Qty | LabelQty | OutputString
-------+-----+----------+--------------
1 | 30 | 30 | NULL
2 | 60 | 30 | NULL
2 | 120 | 60 | NULL
Я хотел бы закончить с OutputString так:
Labels | Qty | LabelQty | OutputString
-------+-----+----------+--------------
1 | 30 | 30 | 30|
2 | 60 | 30 | 30|30|
2 | 120 | 60 | 60|60|
Я знаю, что это очень легко сделать в C# или VB, но я имею трудно думать о том, как это сделать в прямом SQL. Нужно ли мне использовать курсор и делать каждую строку по одному? К сожалению, я не могу просто использовать строку мультипликатор как в Ruby, такие как:
SELECT (CONVERT(VARCHAR(10), LabelQty) + '|') * Labels
Все указатели очень ценятся.
Какова логика вывода выходной строки? – Miller
Вы должны рассказать нам, как вы попадаете на содержимое выходной строки? Вы хотите, чтобы поле LabelQty повторяло количество раз, когда ярлыки содержат '' 'между? – Hogan
Повторяя количество меток LabelQty? – Miller