Sql 如何选择在一个查询中统计所有表,并在一个表中统计所有名称和数字?
我有一个包含12个表的数据库。为了显示每个表中有多少数据,我想进行一次查询,在查询中我会收到一个表或一个带有表名及其计数的列表。这是我得到=D的程度。我不知道如何在列表中创建结果,也不知道如何显示相应的名称 我使用SQL开发人员Sql 如何选择在一个查询中统计所有表,并在一个表中统计所有名称和数字?,sql,oracle,aggregate-functions,Sql,Oracle,Aggregate Functions,我有一个包含12个表的数据库。为了显示每个表中有多少数据,我想进行一次查询,在查询中我会收到一个表或一个带有表名及其计数的列表。这是我得到=D的程度。我不知道如何在列表中创建结果,也不知道如何显示相应的名称 我使用SQL开发人员 (SELECT COUNT(*) FROM CELL_CTRL_PARAMS_INFOS); (SELECT COUNT(*) FROM ERROR_INFO); (SELECT COUNT(*) FROM MDE_RESULTS); (SELECT C
(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);
只需将它们全部选中并给它们取别名
SELECT
(SELECT COUNT(*) FROM CELL_CTRL_PARAMS_INFOS) AS CellCtrlParamsInfosCount,
... etc.
只需将它们全部选中并给它们取别名
SELECT
(SELECT COUNT(*) FROM CELL_CTRL_PARAMS_INFOS) AS CellCtrlParamsInfosCount,
... etc.
另一种方法是创建动态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)
另一种方法是创建动态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)
+1:我在考虑在我的答案后面加上这样的标签。。。但我不想被打扰;o+1:我在考虑在我的答案末尾加上这样的标签。。。但我不想被打扰;o