2015-06-22 72 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

相關問題