簡體   English   中英

如何在MySQL中使用if else子查詢

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM