2

したがって、かなり長い複雑なクエリがありますが、要点は、クエリの基本機能が次のようになることですSELECT verification_id FROM verification_table

validation_id は 0 ~ 3 の整数を返します。validation_id が 0 の場合、SQL クエリで何かを行う方法はありますか?

PHP経由でバックエンドでこれを行うことができますが、MySQL経由で行う方法があるかどうか疑問に思っていました

4

2 に答える 2

6

ケースステートメントが必要です。複数の結果から選択するだけでなく、ブール条件にも使用できます...

SELECT [Condition]
    CASE WHEN TRUE THEN 'True'
    ELSE 'False'
END 
FROM [Table]

各分岐の戻り値の型は同じでなければならないことに注意してください - 列は 1 つの型のみにすることができます

于 2013-06-12T21:18:22.383 に答える
3
SELECT CASE 
         WHEN verification_id = 0 THEN 'new' 
         WHEN verification_id = 1 THEN 'something else' 
         ELSE 'error?' 
       END AS myvalue 
FROM   verification_table 

このようなものが機能するはずです。

ただし、基本的にテキスト文字列を数値に、またはその逆に変換する mysql ENUM フィールド タイプの使用を検討することもできます。そのような値を格納するのに効率的なフィールド タイプです。

于 2013-06-12T21:22:22.313 に答える