2016-11-16 6 views
0

とテーブル名すべてのテーブルの私は、カウント(*)を取得しようとしています、それ以下のSQLクエリを持っている総行数

select Outer.Table_Name, Column_Name, sub.rowcount 
from INFORMATION_SCHEMA.columns Outer 
-- left join (select sub.TableName, count(*) As rowcount from LeadBase)sub 
-- sub.TableName = Outer.Table_Name 
where Table_Name = 'LeadBase' and Column_Name in ('CreatedOn','ModifiedOn') 
order by 2 

しかし、あなたがテーブル名を使用傾けるため、上記動作しません。サブクエリ(コメントアウトされたビット)、それを行うためにとにかくそこにあるので、outterクエリからtableNameに沿ってカウント(*)結果がありますか? INNERはA.object_id = B.object_id A.type =「U'GROUP BY A.schema_id ON sys.partitions BをJOIN sys.objects FROM

答えて

0
SELECT  SCHEMA_NAME(A.schema_id) + '.' + A.Name, SUM(B.rows) AS 'RowCount' 

、A.Name

+0

を探しのあなたのアイデアを取得することによって、私は、クエリ – abs786123

+0

こんにちは、それは作品で遊んでいますが、パーティションテーブルのように、時には多くを乗じた後、あなたに戻って取得するものobject_IDが複数回表示されます。 IDのmax()の1つを持って来る必要があるかもしれませんが、どちらを使うべきか分かりますか? – abs786123

+0

その後、パーティションテーブル – Mansoor

0

にマネージドソートそれこれは有望に見えるパーティションテーブルで

SELECT DB_NAME() AS [Current Database], sc.name, ta.name TableName, 
SUM(pa.rows) RowCnt 
FROM sys.tables ta 
INNER JOIN sys.partitions pa 
ON pa.OBJECT_ID = ta.OBJECT_ID 
INNER JOIN sys.schemas sc 
ON ta.schema_id = sc.schema_id 
WHERE pa.index_id IN (1,0) and Type = 'U' 
GROUP BY sc.name,ta.name 
ORDER BY SUM(pa.rows) DESC 
関連する問題