数据库sql语句查询

linkbin 2017-09-12 12:56:47
有9张表,分别是a至i,这9张表的字段分别是日期和表名,查询出来的结果是行数,有另一张汇总了所有表名的z表,现在要的结果是查询出字段为日期,表名,行数的集合,例如我是这样写的 select a.date , z.tablename, count from a,b,c,d,e,f,g,h,i,z where a.date = to_timestamp('20170910','yyyymmdd') and z.tablename in (select tablename from tmp_m_tablename); 这样的话要怎么改才能正确?
...全文
4961 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Megan2008 2018-10-11
  • 打赏
  • 举报
回复
按照你的写法,最后的结果回被放大,因为类似于CROSS JOIN 了,而且也没有和Z 表进行关联,只是把Z 表中的所有行查询出来,同样是CROSS JOIN. 我觉得你可以参考上面 chenghangstar的写法,或者这样写

SELECT 日期, 'a' AS 表名 , COUNT(*) AS 行数  FROM  a  WHERE 日期 = CAST('20180101' AS DATE)GROUP BY 日期
UNION ALL 
SELECT 日期, 'b' AS 表名 , COUNT(*) AS 行数  FROM  b  WHERE 日期 = CAST('20180101' AS DATE)GROUP BY 日期
UNION ALL 
SELECT 日期, 'c' AS 表名 , COUNT(*) AS 行数  FROM  c  WHERE 日期 = CAST('20180101' AS DATE)GROUP BY 日期
UNION ALL 
SELECT 日期, 'd' AS 表名 , COUNT(*) AS 行数  FROM  d  WHERE 日期 = CAST('20180101' AS DATE)GROUP BY 日期
UNION ALL 
SELECT 日期, 'e' AS 表名 , COUNT(*) AS 行数  FROM  e  WHERE 日期 = CAST('20180101' AS DATE)GROUP BY 日期
UNION ALL 
SELECT 日期, 'f' AS 表名 , COUNT(*) AS 行数  FROM  f  WHERE 日期 = CAST('20180101' AS DATE)GROUP BY 日期
UNION ALL 
SELECT 日期, 'g' AS 表名 , COUNT(*) AS 行数  FROM  g  WHERE 日期 = CAST('20180101' AS DATE)GROUP BY 日期
UNION ALL 
SELECT 日期, 'h' AS 表名 , COUNT(*) AS 行数  FROM  h  WHERE 日期 = CAST('20180101' AS DATE)GROUP BY 日期
UNION ALL 
SELECT 日期, 'i' AS 表名 , COUNT(*) AS 行数  FROM  h  WHERE 日期 = CAST('20180101' AS DATE)GROUP BY 日期
chenghangstar 2018-09-12
  • 打赏
  • 举报
回复
你这样写应该是会报错group by 的问题;
建议你这么写(把九张表Count结果Union起来(剩下几张表的Union语句复制一下就好)
SELECT date,tablename,COUNT(*) FROM a WHERE date = to_timestamp('20170910','yyyymmdd') GROUP BY date,table name UNION ALL
SELECT date,tablename,COUNT(*) FROM B WHERE date = to_timestamp('20170910','yyyymmdd') GROUP BY date,table name UNION ALL
yaiger 2018-06-27
  • 打赏
  • 举报
回复
同样没看太明白, 不过你写的SQL中COUNT需要改成COUNT(*)
人间太皮 2018-06-07
  • 打赏
  • 举报
回复
引用 楼主 linkbin 的回复:
现在要的结果是查询出字段为日期,表名,行数的集合
看的不是很懂

7,388

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 数据仓库
社区管理员
  • 数据仓库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧