0

テーブルで複数の列の検索を実行するための検索スクリプトを以下に示しますが、結果が期待どおりではなく、 status =newおよび company name =demoで表示されるデータ行はほとんどありません。誰かが以下のクエリの問題点を指摘できますか? これらの条件で検索を実行するためのより正確なクエリは何ですか?

SELECT * FROM messageboard AS m LEFT JOIN users AS u ON m.author_id=u.user_id 
WHERE m.status='approved' 
AND u.user_email LIKE '%demo%' 
OR u.company_name LIKE '%demo%' 
OR m.subject LIKE '%demo%' 
ORDER BY m.posted_time DESC

どうもありがとう。

4

2 に答える 2

1
SELECT * FROM messageboard AS m LEFT JOIN users AS u ON m.author_id=u.user_id 
WHERE m.status='approved' 
AND (u.user_email LIKE '%demo%' 
OR u.company_name LIKE '%demo%' 
OR m.subject LIKE '%demo%' )
ORDER BY m.posted_time DESC
于 2013-04-12T09:18:55.843 に答える
0

AND 条件と OR 条件を括弧で整理することをお勧めします。

于 2013-04-12T09:20:25.143 に答える