我正在尝试在查询中使用CASE。我必须计算required_number和vehicle_quantity之间的差异。如果它小于或等于0,那么我需要值0否则是差值。我正在尝试直接在phpmyadmin中使用代码。但是我收到了错误:
Notice in ./libraries/sql-parser/src/Utils/Query.php#427
Undefined property: SqlParser\Components\CaseExpression::$expr
这是我到目前为止所尝试的查询。
SELECT
required_number,
vehicle_quantity,
CASE
WHEN (
required_number - vehicle_quantity
) <= 0 THEN
'0'
ELSE
(
required_number - vehicle_quantity
)
END AS income_amt
FROM
vehicles
WHERE
id = 22
任何人都可以帮助我在查询中犯了什么错误。谢谢。
答案 0 :(得分:3)
试试这个:
SELECT required_number,
vehicle_quantity,
(CASE
WHEN ((required_number - vehicle_quantity) <=0) THEN 0
ELSE (required_number - vehicle_quantity)
END) AS extra
FROM vehicles
WHERE mun_id=22
答案 1 :(得分:1)
尝试这个:你必须使用0
而不是'0'
,因为你正在进行基于整数的计算,所以你不能定义字符串
SELECT
required_number,
vehicle_quantity,
CASE WHEN (required_number - vehicle_quantity) <= 0 THEN
0
ELSE
(required_number - vehicle_quantity)
END AS income_amt
FROM vehicles
WHERE id = 22