0
SQLiteでcoalesce()またはifnull()を使用して、LEFT JOIN内のNULL値に0を設定しようとしています。 私はこの質問がたくさん聞かれたことを知っていますが、私は立ち往生しています。LEFT JOIN 2テーブルを使用すると、値がNULLの場合はどのようにして0を返しますか?
BUDGET
amount category
2 food
2 book
2 movie
EXPENSE
amount category
2 food
2 book
EXPECTED RESULT
budsum budcat expsum
2 food 2
2 book 2
2 movie 0
これは私が行ったクエリです。
SELECT SUM(budget.amount) AS budsum, budget.category AS budcat,
SUM(coalesce(expense.amount,0)) AS expsum
FROM budget
LEFT JOIN expense
ON budcat=expense.category
GROUP BY budcat;
SELECT SUM(budget.amount) AS budsum, budget.category AS budcat,
SUM(coalesce(expense.amount,0)) AS expsum
FROM budget
LEFT JOIN expense
ON budcat=expense.category
GROUP BY budcat;
これまでに試したことがあります。うまくいかなかった。いくつかのコンテキストでは、データベース用にCordova-sqlite-storageを使用してIonic2アプリをコーディングしています。 –
@AhmadZul - どのように動作しませんでしたか?それでもヌルが生成されましたか?それは失敗しましたか? – GurV
それは失敗しませんでした。ちょうど0の値を返さなかった –