[英]how can I write IF statement in mysql
我有一個type
字段的表。
如何在查詢中檢查此字段:
如果type
=='a',我想檢查一下
然后bes
= amount
, bed
=' - '
ELSE bed
= amount
, bes
=' - '
bes和bed在我的表中並不存在但是數量是(int)
這是我的嘗試:
SELECT billing.*,
CASE billing.type WHEN 'A' THEN billing.amount AS bes, '-' AS bed ELSE billing.amount AS bed, '-' AS bes END
FROM billing
...我的搜索無用
解決方案......
您可以為每一行創建條件, MySQL
支持內聯 IF
語句。
SELECT billing.*,
IF(billing.type = 'A', billing.amount, '-') AS bes,
IF(billing.type = 'A', '-', billing.amount) AS bed
FROM billing
你需要兩個案例陳述:
SELECT billing.*,
CASE billing.type WHEN 'A' THEN billing.amount ELSE '-' AS bes END,
CASE billing.type WHEN 'A' THEN '-' ELSE billing.amount AS bed END
FROM billing
一個CASE-WHEN-THEN-ELSE
只能有一個返回值......
這應該做的伎倆:
SELECT billing.*,
CASE billing.type WHEN 'A' THEN billing.amount ELSE '-' END AS bes,
CASE billing.type WHEN 'A' THEN '-' ELSE billing.amount END AS bed
FROM billing
SELECT billing.*,
CASE WHEN billing.type = 'A' THEN billing.amount ELSE 0 END AS bes,
CASE WHEN billing.type <> 'A' THEN billing.amount ELSE 0 END AS bed
FROM billing
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.