首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果第二个select为null,如何忽略?

如果第二个select为null,如何忽略?
EN

Stack Overflow用户
提问于 2020-11-24 16:03:27
回答 2查看 22关注 0票数 0

我的目标是计算帐户变异(贷方借方)。

这是我当前的SQL语句:

代码语言:javascript
运行
复制
SELECT
(SELECT sum(Transaction_Value) FROM transactions WHERE Date BETWEEN "2020-11-01" AND "2020-11-30" AND Destination=99005571818061833)
-
(SELECT sum(Transaction_Value) FROM transactions WHERE Date BETWEEN "2020-11-01" AND "2020-11-30" AND Source=99005571818061833)

的预期结果是:返回帐户突变值。

的实际结果是: null

问题是,如果第4行没有找到一行,则不管第2行是否返回值,它都将返回null。

例如,如果我们对此表数据运行SQL语句:

代码语言:javascript
运行
复制
ID  Date        Source              Destination         Transaction_Value
168 2020-11-24  SETORAN TUNAI       99005571818061833   1000000.0000
169 2020-11-24  98993563492155716   98993563492155717   1000.0000

返回值为空,因为SQL语句找不到源=== "99005571818061833“的行

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-11-24 16:08:16

用户条件聚合如下:

代码语言:javascript
运行
复制
SELECT sum(CASE WHEN Destination = 99005571818061833 THEN Transaction_Value
                WHEN Source = 99005571818061833 THEN -Transaction_Value
                ELSE 0
           END)
FROM transactions
WHERE Date BETWEEN 2020-11-01' AND '2020-11-30' AND
      99005571818061833 IN (Source, Destination)
票数 0
EN

Stack Overflow用户

发布于 2020-11-24 16:08:02

我对SQL很陌生。这并不意味着有效,如果你有一个更有效的方法和解释,你可以自由地回答它。我会把它标记为答案。

答案是:

代码语言:javascript
运行
复制
SELECT
(SELECT sum(Transaction_Value) FROM transactions WHERE Date BETWEEN "2020-11-01" AND "2020-11-30" AND Destination=99005571818061833)
-
IFNULL((SELECT sum(Transaction_Value) FROM transactions WHERE Date BETWEEN 2020-11-01 AND 2020-11-30 AND Source=99005571818061833), 0)

解释如下:

结果表明,如果用null减去一个数字,则返回值将为null。

例如

代码语言:javascript
运行
复制
SELECT
(SELECT sum(Transaction_Value) FROM transactions WHERE Date BETWEEN "2020-11-01" AND "2020-11-30" AND Destination=99005571818061833)
-
null

预期结果为null。

所以..。逻辑上,如果您的第4行返回null,则应该将其更改为0。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64990215

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档