2011-01-10 53 views
0

嗨,大家好,我有此查詢左在複雜的SQL查詢中加入

SELECT currency_code, SUM(
CASE 
WHEN TYPE = 'cash_in' 
THEN amount 
END) AS cash_in, SUM(
CASE 
WHEN TYPE = 'cash_out' 
THEN amount 
END) AS cash_out, SUM(
CASE 
WHEN TYPE = 'cash_in' 
THEN amount 
ELSE - amount 
END) AS balance 
FROM tb_cash_transaction 
LEFT JOIN tb_currency ON tb_currency.CURRENCY_ID = tb_cash_transaction.CURRENCY_ID 
WHERE TYPE IN (
'cash_in', 'cash_out' 
) 
GROUP BY currency_code 

將輸出這樣的:

alt text

的問題是查詢不顯示其他CURRENCY_CODE KRW其不具有數據在tb_cash_transaction中。在tb_currency

alt text

示例如何解決這個問題?

回答

1

試試這個

SELECT currency_code, SUM(
CASE 
WHEN TYPE = 'cash_in' 
THEN amount 
END) AS cash_in, SUM(
CASE 
WHEN TYPE = 'cash_out' 
THEN amount 
END) AS cash_out, SUM(
CASE 
WHEN TYPE = 'cash_in' 
THEN amount 
ELSE - amount 
END) AS balance 
FROM tb_currency 
LEFT JOIN tb_cash_transaction ON tb_currency.CURRENCY_ID = tb_cash_transaction.CURRENCY_ID AND tb_cash_transaction.TYPE IN (
'cash_in', 'cash_out' 
) 
GROUP BY currency_code 
+0

喜這項工作做得很好。謝謝 :) – cyberfly 2011-01-10 06:10:28