2015-06-22 69 views
0

我有一堆表的数据库。查询所有表中的各种东西的计数

我想构建一个查询,列出数据库中的所有表,然后在这些表中进行各种计数。

例如算“有多少行有'D'作为国家”等

我已经想通了,做一个SELECT name FROM db.sys.tables让所有的表,只是不能换我的头周围,我想情况在桌子上也算。

其在所有表格中我都希望这样做。

+1

可能重复(http://stackoverflow.com/questions/1443704/query-to-list-number-of-records-in-each-table-in-a-database) – ughai

+0

不是很清楚,它只是计算所有表中的行,我想设置自己的计数,比如有多少行数值为DK或更多。 – user2199192

+0

难道你不会只是做一个'选择计数(*)从......那里......在那个点? – jradich1234

回答

2

可以使用无证系统过程sp_msforeachtable这样

DECLARE @results TABLE(tbl VARCHAR(100),countresult INT); 

INSERT INTO @results 
EXEC sp_msforeachtable @command1 = 'SELECT ''?'',Count(*) FROM ? /* Add your WHERE clause here*/',@replacechar = '?' 

SELECT * FROM @results 

你可以阅读更多关于它herehere

的[查询在数据库中列出每个表中的记录数]
+0

谢谢 - 这对我所做的非常有用。 – user2199192

相关问题