2017-08-08 44 views
1

我有一个包含12个表的数据库。为了显示我在每个表中有多少数据,我想要执行一个查询,在该查询中,我收到一个表或带有表名和计数的列表。这是我得到了多少= D。我不知道如何在列表中创建结果,也不知道如何显示相应的名称。如何选择在一个查询中统计所有表与一个表中的所有名称和数字?

我使用SQL Developer。

(SELECT COUNT(*) FROM CELL_CTRL_PARAMS_INFOS); 
    (SELECT COUNT(*) FROM ERROR_INFO); 
    (SELECT COUNT(*) FROM MDE_RESULTS); 
    (SELECT COUNT(*) FROM PARAMETERS_INFO); 
    (SELECT COUNT(*) FROM PART_RESULTS); 
    (SELECT COUNT(*) FROM PRODUCTION_INFO); 
    (SELECT COUNT(*) FROM STATION_INFO); 
    (SELECT COUNT(*) FROM STATION_RESULTS); 
    (SELECT COUNT(*) FROM TEST_INFO); 
    (SELECT COUNT(*) FROM TEST_RESULTS); 
    (SELECT COUNT(*) FROM X_PRODUCTION_INFO); 
    (SELECT COUNT(*) FROM X_STATION_INFO); 

回答

4

只要选择它们并给它们别名;

SELECT 
    (SELECT COUNT(*) FROM CELL_CTRL_PARAMS_INFOS) AS CellCtrlParamsInfosCount, 
... etc. 
0

另一种方式,你怎么能让动态SQL和一行

declare @sql nvarchar(max) 
select @sql = 'Select ' + 
        STUFF((select ', (select count(*) 
          from [' + t.name + ']) as [' + t.name + ']' 
        from sys.tables t FOR XML PATH(''), TYPE).value('.', 
            'NVARCHAR(MAX)'), 1, 1, '') 

execute (@sql) 
+0

+1所拥有的一切:我正在考虑标注这样的事情在我的回答结束......但不能被打扰! ; O) – Paul

相关问题