2017-05-09 10 views
0

私のクエリで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

注:あなたの最初のケースの結果として '' 0 ''の代わりに '' 0 ''を使用します。 –

答えて

2

を文字列を定義することはできませんので、これを試してみてください0代わりの'0'を使用する必要があります。

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

TRY THIS:あなたは整数ベースの計算を行っているので、あなたが代わりに

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 
関連する問題