我的 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 查询来执行此操作,但结果为空。这里似乎有什么问题?
我的 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 查询来执行此操作,但结果为空。这里似乎有什么问题?
这给你什么?
SELECT itm_price, itm_count FROM ods_temporder WHERE itm_id='11'
是 ofitm_price
还是itm_count
NULL?你有itm_id
= 11 的行吗?
尝试:
SELECT SUM(COALESCE(itm_price, 0) * COALESCE(itm_count, 0)) as total
FROM ods_temporder
WHERE itm_id='11'
COALESCE 是处理 NULL 值的 ANSI 标准 - 如果itm_price
oritm_count
为 null,则在这种情况下将使用零作为值。否则,要么您的列没有值为 11 的itm_id
行,要么您在错误的列中查找 11 值。
当itm_id=11 时,itm_price 和itm_count 包含什么?这是 SQL Server 吗?如果是这样,您可以使用 ISNULL 来处理 itm_price 或 itm_count 是否为空