【发布时间】:2017-10-11 12:02:42
【问题描述】:
表:
Col
------
Table1
table2
table3
查询:
select count(*)
from @tablename
我想在选择查询中将table1、table2、table3 作为@tablename 的参数传递并获取每个表的计数
期望的输出:
2 (table 1 count) 3 (table 2 count) 4 (table 3 count)
【问题讨论】:
-
如果要对表名进行参数化,需要使用动态SQL。
-
您希望您的输出在所有一行中,还是其他人编辑的结果?
-
对于行计数,这可能没问题,但如果对这些表有任何其他“常见”查询,这可能是数据模型损坏的迹象。如果您正在执行“常见”查询,它们实际上很可能应该是一个表,并且应该建模为 data 的东西也可能最终变成(不太可查询)元数据,比如嵌入到表name中。
标签: sql sql-server sql-server-2008 count