oracle 查询结果当作表名,紧急求助中!!!!
有表A,B,C,D,E,F,G
其中A表中字段如下
id tablename
1 B
2 C
3 D
4 E
5 F
6 G
B,C,D ,E,F,G这几张表中,每个表中都有几条数据,
现在需求如下:查询每个表中总共有几条记录,用一条SQL查询出来,
我这样写总是报错:
select count(*) from (select tablenam from A)
该如何写sql能得到如下结果
tablename count(*)
B 3
C 3
D 2
E 4
F 2
G 5
------最佳解决方案--------------------
select t.table_name,t.num_rows
from user_tables t
where t.table_name in (select tablename from A)
------其他解决方案--------------------select count(*) from (select tablenam from A)
其中select tablenam from A返回的是多条记录,“select coun(*) from 多条记录”肯定报错
------其他解决方案--------------------非常感谢#1楼的horizonlyhw,你的SQL是对的,我用了你的sql查到正确的结果了,就是我的数据库中的表不是user_tables,如果其他的人也有类似的问题,需要注意哦!!!也感谢#2楼的caolong0210,虽然你说了为什么出错,但是没有给解决方法啊,也感谢你了