小编Luc*_*cas的帖子

使用动态SQL循环遍历列名

我想出了一段代码,以显示每列的所有不同值,并计算每列的记录数.我希望代码遍历所有列.

这是我到目前为止所做的...我是SQL的新手所以忍受noobness :)

硬编码:

  select [Sales Manager], count(*)
  from  [BT].[dbo].[test]
  group by [Sales Manager]
  order by 2 desc
Run Code Online (Sandbox Code Playgroud)

尝试动态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)
Run Code Online (Sandbox Code Playgroud)

这两个都很好.如何让它循环遍历所有列?我不介意我是否必须对列名进行硬编码,并且通过在每个列中为@column进行子搜索来实现.

这有意义吗?

谢谢大家!

sql loops dynamic

7
推荐指数
2
解决办法
5万
查看次数

标签 统计

dynamic ×1

loops ×1

sql ×1