[英]how to use if else subquery in mysql
SELECT IF{
(select sum(amount)
from bank_credit
where bank_name='IDBI') -
(select sum(amount)
from bank_debit
where bank_name='IDBI') as idbi == NULL}
else {
select sum(amount)
from bank_credit
where bank_name='IDBI')
} as idbi
如何解決這個子查詢,如果在MySQL中...否則PLZ幫助一些
您可以使用函數ifnull()
將NULL
轉換為0
然后使用該函數進行計算。
SELECT
IFNULL(
( SELECT SUM(amount)
FROM bank_credit
WHERE bank_name='IDBI'
), 0
)
-
IFNULL(
(
SELECT SUM(amount)
FROM bank_debit
WHERE bank_name='IDBI'
), 0
) AS idbi;
另請參閱https://stackoverflow.com/a/1441358/1331451 。
看一下此查詢的isnull()
行為:
select
ifnull( (select 1), 0) - ifnull( (select 1), 0) as 1_1,
ifnull( (select 1), 0) - ifnull( (select 0), 0) as 1_0,
ifnull( (select 1), 0) - ifnull( (select NULL), 0) as 1_NULL,
ifnull( (select 0), 0) - ifnull( (select 1), 0) as 0_1,
ifnull( (select NULL), 0) - ifnull( (select 1), 0) as NULL_1,
ifnull( (select NULL), 0) - ifnull( (select NULL), 0) as NULL_NULL
;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.