Цикл по именам столбцов с динамическим SQL
Я только что предложил идею кода, чтобы показать все значения для каждого столбца и посчитать, сколько записей для каждого. Я хочу, чтобы код перебрал все столбцы.
Вот что у меня есть ... Я новичок в SQL, так что терпите нубизм :)
Жесткий код:
select [Sales Manager], count(*)
from [BT].[dbo].[test]
group by [Sales Manager]
order by 2 desc
Попытка динамического SQL:
Declare @sql varchar(max),
@column as varchar(255)
set @column = '[Sales Manager]'
set @sql = 'select ' + @column + ',count(*) from [BT].[dbo].[test] group by ' + @column + 'order by 2 desc'
exec (@sql)
Оба из них работают нормально. Как я могу сделать так, чтобы он прошел по всем столбцам? Я не возражаю, если мне придется жестко закодировать имена столбцов, и это работает путем подстановки в каждом из них для @column.
Имеет ли это смысл?
Спасибо всем!