我有一個請求在不同的情況下計算字段的值。如果在MYSQL中找不到值,如何設置SUM(CASE WHEN)函數的返回值爲0?
這裏是要求:
SELECT SUM(CASE WHEN Reliquat_id = 1 THEN Poids END) AS NbrARRNP,
SUM(CASE WHEN Reliquat_id = 2 THEN Poids END) AS NbrSTNP,
SUM(CASE WHEN Reliquat_id = 3 THEN Nombre END) AS NbrARR,
SUM(CASE WHEN Reliquat_id = 4 THEN Nombre END) AS ST,
SUM(CASE WHEN Reliquat_id = 5 THEN Nombre END) AS NbrCLASS,
SUM(CASE WHEN Reliquat_id = 6 THEN Nombre END) AS NbrINDEX FROM datas WHERE Chantier_id = 4 AND main_id =1;
有時我得到一個問題,如果存在的情況下沒有記錄。返回值爲空。
- 例如:如果在Reliquat_id = 2的情況下沒有記錄,那麼我得到空值而不是零。
我看到的StackOverflow的另一個問題是有趣:
How do I get SUM function in MySQL to return '0' if no values are found?
我嘗試使用論文功能了我的請求,但我不understant在我的情況下適用的語法。
你有什麼想法嗎?
感謝
您可以在其他情況下添加其他情況,如SUM(CASE WHEN Reliquat_id = 1 THEN Poids ELSE 0 END) –