【问题标题】:Join two table with sum that retrieve null value将两个表与检索空值的总和连接起来
【发布时间】:2017-07-13 05:59:55
【问题描述】:

我有两张桌子。

TABLE A :
I_NO , I_NAME
1      A
2      B
3      C
4      D
5      F
TABLE B :
THE_DATE , I_NO , THE_MONY
01-JAN-2017  1       50
01-FEB-2017  2       50
01-APR-2017  3       50
01-SEP-2017  2       50
01-APR-2017  1       50

我想创建一个连接两个表的查询,其中给出了表 A 中的所有 I_NO 以及 THE_MONY 与 DATE

1      50
2      50
3      0
4      0
5      0

【问题讨论】:

    标签: oracle8i


    【解决方案1】:

    如果它的 mysql 我会喜欢左加入然后分组。

    SELECT A.I_NO, SUM(IsNull(B.THE_MONY, 0)) as 'THE_MONY 
    FROM A
    LEFT JOIN B ON A.I_NO = B.I_NO
    WHERE B.THE_DATE <= '01-FEB-2017' GROUP BY A.I_NO.
    

    类似的东西。希望对你有帮助。

    【讨论】:

    • Oracle SQL 数据库版本 8i
    • 据我所知,对于 Oracle,isNull 方法等效于 NVL。除此之外,其余的应该可以正常工作。
    • 那么在这种情况下尝试 LEFT OUTER JOIN 或 OUTER JOIN
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-16
    • 1970-01-01
    • 2021-09-28
    • 2015-04-16
    • 2023-03-25
    相关资源
    最近更新 更多