龙蟒过江只为虫 2018-11-02 01:39 采纳率: 50%
浏览 594
已采纳

ORACLE两表关联查询,求助。

模拟表结构

CREATE TABLE a (aid VARCHAR2(5), acou NUMBER(5, 2));
CREATE TABLE b (aid VARCHAR2(5), bcou NUMBER(5, 2));

模拟数据
INSERT INTO a (aid, acou) VALUES ('1', 50.0);
INSERT INTO b (aid, bcou) VALUES ('1', 30.0);
INSERT INTO b (aid, bcou) VALUES ('1', 40.0);

查询语句
SELECT ' ', SUM(acou) acou, SUM(bcou) bcou FROM a, b WHERE a.aid = b.aid;

错误结果集
' ', 100, 70

如何编写SQL语句正确分别统计两表的和,正确结果集应为
' ',50, 70

  • 写回答

2条回答

  • qq_14823253 2018-11-02 01:52
    关注

    表关系给的不够详细,如果一定要A|B关联,按照你目前的表结构,可能无法实现你的要求
    如果想要满足你的要求,至少需要一个主键

    那这样

     SELECT ' ', SUM(ACOU) ACOU, SUM(BCOU) BCOU
      FROM (SELECT A.AID, A.ACOU, SUM(B.BCOU) BCOU
              FROM A, B
             WHERE A.AID = B.AID
             GROUP BY A.AID, A.ACOU);
    

    图片说明

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?