返される行数が1以上の場合は値1を返し、何も見つからない場合は0を返します。Select MySql Case Query
私はそれがFALSE
SELECT count(*) >= 1
from account
where account_id = 12
返される行数が1以上の場合は値1を返し、何も見つからない場合は0を返します。Select MySql Case Query
私はそれがFALSE
SELECT count(*) >= 1
from account
where account_id = 12
単純なクエリの下にリストされた上で構文エラーを取得していますクエリで真のときに単語が欠けていた
あなたが誤って0と12を比較するよう私を考え出しであれば条件はTRUEと0
であればMySQLは1
を返し
SELECT CASE (select count(*) from account where account_id = 12 >0) then 1 else 0 end;
この
SELECT CASE (select count(*) from .account where account_id = 12 >0) when true then 1 else 0 end;
だけ文法的にこれは確かに改善され、動作します。しかし
SELECT CASE ((select count(*) from .account where account_id = 12) > 0) when true then 1 else 0 end;
、なぜあなたはすべてのレコードをカウントする必要があります、ときあなたは存在をテストすることができます:
SELECT CASE (exists (select 1 from .account where account_id = 12)) when true then 1 else 0 end;
この最後の行は、存在する場合は最初の行を見つけますそうであれば1を返し、そうでなければ0を返します。