我有一个包含recordid
,record name
的表,以及一个带有相应表名的额外列。每条记录都有自己的表。现在我想在sql中使用select query选择record name
,id
及其相应的表计数。请帮帮我..
谢谢
我有一个名为'records'的表,如
recordid名称描述表名称 ------------------------------------------------ 1记录1 description1 tb_name1
2 record2 description1 tb_name2
每个记录都有一个表。例如,记录1的表名为tb_name1,记录2的表名为tb_name2
tb_name1中的
1 1 xxx 13-6-2011 xxx 7/9/2013
2 1 xxx 13-6-2011 xxx 8/9/2013
3 1 xxx 13-6-2011 xxx 8/9/2013
4 1 xxx 13-6-2011 xxx 9/9/2013
与tb_name2中的内容类似
1 2 xxx 13-6-2011 xxx 6/9/2013
2 2 xxx 13-6-2011 xxx 7/9/2013
3 2 xxx 13-6-2011 xxx 8/9/2013
我想要一个像
这样的结果1 record1 description1 4 2记录2说明1 3
4,3是其对应表的行数。
答案 0 :(得分:0)
如果您可以容忍计数不能保证100%准确 1 ,那么您可以加入sys.partitions
目录视图,该视图描述了它因此rows
列:
表示此分区中的大致行数。
所以你有一个这样的联接:
select recordid,name,description,rowcount
from
[unnamedfirsttableinquestion] t
inner join
(select object_id,SUM(rows)
from sys.partitions group by object_id) u (oid,rowcount)
on
u.oid = OBJECT_ID(t.tablename)
1 在实践中,您通常可以容忍这一点 - 或者: