私は db テーブルに 3 つの列を持っています。列、itm_count と itm_price を乗算し、特定の id(itm_id) の合計を出力する必要があります。
SELECT sum(itm_price * itm_count) as total FROM ods_temporder WHERE itm_id='11'
上記の sql クエリを使用してこれを実行しようとしましたが、結果は null でした。ここで何が問題になっているようですか?
私は db テーブルに 3 つの列を持っています。列、itm_count と itm_price を乗算し、特定の id(itm_id) の合計を出力する必要があります。
SELECT sum(itm_price * itm_count) as total FROM ods_temporder WHERE itm_id='11'
上記の sql クエリを使用してこれを実行しようとしましたが、結果は null でした。ここで何が問題になっているようですか?
試す:
SELECT SUM(COALESCE(itm_price, 0) * COALESCE(itm_count, 0)) as total
FROM ods_temporder
WHERE itm_id='11'
COALESCEは、NULL値を処理するためのANSI標準です。itm_price
またはitm_count
がnullの場合、この場合は値としてゼロが使用されます。それ以外の場合は、列の値が11の行がないかitm_id
、間違った列で11の値を探しています。
これはあなたに何を与えますか?
SELECT itm_price, itm_count FROM ods_temporder WHERE itm_id='11'
itm_price
またはitm_count
NULLのいずれかですか? itm_id
= 11の行はありますか?
itm_id= 11 の場合、itm_price と itm_count には何が含まれますか? これは SQL Server ですか? その場合、ISNULL を使用して、itm_price または itm_count が null であるかどうかを処理できます。