複数の列検索を実行するための条件付きクエリの下に
SELECT
prod.pid,
prod.pname,
prod.description,
prod.status,
foto.set_cover,
foto.filename
FROM products prod
INNER JOIN second_child_categories secd ON prod.category_id = secd.second_id
INNER JOIN photos foto ON prod.pid = foto.pid
WHERE CONCAT( prod.pname, prod.description ) LIKE '%home%'
OR CONCAT( prod.description, prod.pname ) LIKE '%home%'
AND foto.set_cover = '1'
AND prod.status = '1'
ORDER BY prod.created_date DESC
出力は次のとおりです。
クエリを参照して、条件を設定します。
foto.set_cover='1' AND prod.status='1'
結果は条件と一致しません。
このクエリを修正するにはどうすればよいですか?
ありがとう。
Mysql または/および優先順位を参照してください。
OR
あなたが(暗黙的に)書いたものはより高い優先度があります:
CONCAT( prod.pname, prod.description ) LIKE '%home%'
OR (
CONCAT( prod.description, prod.pname ) LIKE '%home%'
AND foto.set_cover = '1'
AND prod.status = '1'
)
私はあなたが何を意味していると思います
(
CONCAT( prod.pname, prod.description ) LIKE '%home%'
OR
CONCAT( prod.description, prod.pname ) LIKE '%home%'
)
AND foto.set_cover = '1'
AND prod.status = '1'
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加