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,是怎么回事? 展开
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,是怎么回事? 展开
5个回答
展开全部
你这个相当于是下列语句:
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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select
a. col1, b.col2
from
(select count(id) as col1 from table1) as a,
(select count(id) as col2 from table2) as b
-------------这样写。
a. col1, b.col2
from
(select count(id) as col1 from table1) as a,
(select count(id) as col2 from table2) as b
-------------这样写。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
目前情况是迪笛卡尔积 结果是897乘以8,a,b 表的关联条件。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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;
(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;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
两张表的关联字段是什麽?没有关联字段才会出现6272
把关联字段条件加上再看看
把关联字段条件加上再看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询