sql查询

tiaoxixiaoji 2016-04-13 04:29:07
表A
字段1
A
B
C
表B
字段1 字段2 字段3
A 0 50
B 1 10
C 1 60
A 0 50
B 0 60

sql结果:
字段1 字段2
A 0
B 70
C 60

根据表A的字段1查询表B中相同的字段数据,然后查询结果的字段B等于表B中sum(B.字段3) from B where B.字段2=1
...全文
102 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
tiaoxixiaoji 2016-04-13
  • 打赏
  • 举报
回复
引用 1 楼 bo871747022 的回复:
按照你的意思,SQL结果B的那一行应该是10才对。不知道到底是你表达问题还是结果举例错误。 你看下这个符合要求不。

SELECT A.ID ID, NVL(T.JE,0) JE 
FROM A,(
     SELECT ID,SUM(JE) JE 
     FROM B WHERE BS=1 
     GROUP BY ID
     ) T 
WHERE A.ID=T.ID(+)
嗯,你说的对
zy18755122285 2016-04-13
  • 打赏
  • 举报
回复
select 字段1,decode(t.sum(字段2),0,0,t.sum(字段3)) from (select 字段1,sum(字段2),sum(字段3) from a group by 字段1) T
bo871747022 2016-04-13
  • 打赏
  • 举报
回复
按照你的意思,SQL结果B的那一行应该是10才对。不知道到底是你表达问题还是结果举例错误。 你看下这个符合要求不。

SELECT A.ID ID, NVL(T.JE,0) JE 
FROM A,(
     SELECT ID,SUM(JE) JE 
     FROM B WHERE BS=1 
     GROUP BY ID
     ) T 
WHERE A.ID=T.ID(+)

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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