MySQLは、特定の条件を満たした場合にのみ、where句に条件を適用するクエリ

Fremlth:

私は、MySQLにcondition_2を追加したい場所をテストcondition_1によって句。condition_1があるtype = 'group:1'とcondition_2ですusername = 'rahim'のであれば、type = 'group:1'満足、そして私が追加しようusername = 'rahim'where句で。満たされていない場合は、私がwhere句にこれを追加する必要はありません。私が試してみました username = 'rahim' CASE WHEN type = 'group:1'しかし、それは出力エラー:

[のErr] 1064:1 'ANDタイプ= 'グループ:1' '' CASEタイプ=' グループの近くに使用する権利構文について

 SELECT
    a.user_id,
    b.username,
    a.message,
    a.type
FROM
    livechat_message a
LEFT JOIN livechat_user b ON a.user_id = b.user_id
WHERE
    username = 'rahim' CASE
WHEN type = 'group:1'
AND type = 'group:1'

前もって感謝します。

ゴードン・リノフ:

あなたはしたいように思われます。

WHERE NOT (type = 'group:1' AND username <> 'rahim')

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=27945&siteId=1