oracle 子查询中有两个字段,怎么同时查出来

时间:2022-04-18 00:22:23
selectoracle
比如说:select a.id,a.name,(select sum(b.count),a.num-sum(b.count) from b) from a;
有这么一个语句,我想一下在b表里查出两个值来,作为两列字段跟a.id a.name两列的值同时都显示出来,但是我上面的写法会报错。不知道括号里的情况该怎么处理?
ps:当然我只是举了个例子,具体的语句要比这个复杂的多,求指点

7 个解决方案

#1


分成两个
select a.id,a.name
,(select sum(b.count) from b) 
,(select a.num-sum(b.count) from b) 
from a;

#2


select  sum(b.count) from b 可以作为一个表

select A.id, A.name, A.num-B.sct from a A, (select  sum(b.count)  sct from b) B;

#3


select A.id, A.name, B.sct,  A.num-B.sct from a A, (select  sum(b.count)  sct from b) B;

#4


1.写两个标量子查询,就是两个计算列分开。
2.写成左连接的形式。

#5


楼上说的对。子查询和链接查询都可以。
链接查询吧。注意链接查询会涉及到分组汇总,楼主自己考虑吧

#6


left  join  

#7


他这种形式 b表count 就是固定值 直接用变量存储count(*)  然后相减

#1


分成两个
select a.id,a.name
,(select sum(b.count) from b) 
,(select a.num-sum(b.count) from b) 
from a;

#2


select  sum(b.count) from b 可以作为一个表

select A.id, A.name, A.num-B.sct from a A, (select  sum(b.count)  sct from b) B;

#3


select A.id, A.name, B.sct,  A.num-B.sct from a A, (select  sum(b.count)  sct from b) B;

#4


1.写两个标量子查询,就是两个计算列分开。
2.写成左连接的形式。

#5


楼上说的对。子查询和链接查询都可以。
链接查询吧。注意链接查询会涉及到分组汇总,楼主自己考虑吧

#6


left  join  

#7


他这种形式 b表count 就是固定值 直接用变量存储count(*)  然后相减