是否可以使用sql执行以下操作?该声明未被标记为有错误,但无论如何都无法正常工作。
SELECT *
FROM `Orders`
WHERE `TotalCost` - `TotalPaid` + `TotalRefunded`
BETWEEN 1
AND 1000
答案 0 :(得分:4)
这是猜测。您应该使用示例数据编辑问题。但我的猜测是TotalRefunded
通常是NULL
。所以你应该在算术运算中处理NULL
:
SELECT *
FROM `Orders`
WHERE (coalesce(`TotalCost`, 0) - coalesce(`TotalPaid`, 0) + coalesce(`TotalRefunded`, 0))
BETWEEN 1 AND 1000;
答案 1 :(得分:0)
检查你的操作一次,然后相应地编写WHERE CLAUSE,不确定你想要的是什么......同样对于错误部分,试试这个
SELECT *
FROM Orders
WHERE Orders.TotalCost - Orders.TotalPaid + Orders.TotalRefunded
BETWEEN 1
AND 1000
还要很好地编写Where子句,并根据问题的需要在必要时放置括号。
希望这会有所帮助......