SQL语句中多表count

selectcount(a.id)ascol1,count(b.id)ascol2from(selectidfromtable1)a,(selectidfromtable... select
count(a.id) as col1, count(b.id) as col2
from
( select id from table1) a,
(select id from table 2) b
这样返回的值貌似有问题
单独执行a的时候返回897条数据
单独执行b的时候返回8条数据
如果一切正常的话,上面的sql语句会同时返回897和8,但是目前的返回值都是6272,是怎么回事?
展开
 我来答
一缕青丝发
2012-11-12 · TA获得超过1642个赞
知道小有建树答主
回答量:161
采纳率:33%
帮助的人:46.6万
展开全部
你这个相当于是下列语句:
select count(*) from (select id from table1) a,(select id from table2) b
where 条件 group by a.id,b.id
所以会是6272条
你可以改成如下:
select a.num,b.num from
(select count(id) num from table1 group by id)a
(select count(id) num from table2 group by id)b
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pppoe20
推荐于2017-09-08 · TA获得超过2441个赞
知道小有建树答主
回答量:802
采纳率:50%
帮助的人:282万
展开全部
select
a. col1, b.col2
from
(select count(id) as col1 from table1) as a,
(select count(id) as col2 from table2) as b
-------------这样写。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
心轩无限
2012-11-12 · 超过11用户采纳过TA的回答
知道答主
回答量:30
采纳率:0%
帮助的人:24.5万
展开全部
目前情况是迪笛卡尔积 结果是897乘以8,a,b 表的关联条件。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
夜灵左手
2018-03-26
知道答主
回答量:7
采纳率:0%
帮助的人:4.3万
展开全部
select a.AAA,b.BBB from
(select count(*) as AAA from 要查的表A where THETIME<=to_date('2018-03-07 13:58:36','yyyy-mm-dd hh24:mi:ss')) a,
(select count(*) as BBB from 要查的表B where THETIME<=to_date('2018-03-07 13:58:36','yyyy-mm-dd hh24:mi:ss')) b;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友bfb9204
2012-11-12 · TA获得超过718个赞
知道小有建树答主
回答量:1008
采纳率:66%
帮助的人:445万
展开全部
两张表的关联字段是什麽?没有关联字段才会出现6272
把关联字段条件加上再看看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式