У меня сложная проблема программирования в SQL Server 2000, и я надеюсь, что смогу получить помощь.Я новичок в T-SQL (я в основном использую MySQL), так что, возможно, кто-то мог бы взглянуть на это и найти простой способ сделать это.
У меня есть таблица с множеством столбцов, которые содержат 0 или 1. Например, у меня есть столбцы с пометкой var1, var2, var5, var9
.и т. д. Всего около 120 столбцов.Обратите внимание, что суффиксы в этих столбцах не обязательно являются последовательными.Каждый из этих столбцов содержит 0 или 1. Что мне нужно сделать, это создать новый столбец, содержащий буквенные имена столбцов каждого столбца, который содержит 1.
Например, мои данные выглядят так:
ID var1 var2 var5 var7 var9
--------------------------------------
1 0 1 0 0 1
2 0 1 1 1 0
Мне нужен новый столбец, который содержит значения
ID NewCol
---------------------
1 var2,var9
2 var2,var5,var7
и так далее.
По причинам, в которые я не буду вдаваться, я не могу использовать любой код на стороне клиента, такой как VB, Perl и т. Д. Я должен сделать это в хранимой процедуре.Из-за большого количества столбцов, которые могут измениться либо по имени, либо по номеру, мне нужно нечто иное, чем жестко закодированная серия операторов SELECT CASE.
Я чувствую себя действительно ограниченным своими знаниями T-SQL.Можно ли это сделать ??
TIA