2

このクエリは、category = logotypes と full_text が検索ワードの LIKE であるすべての投稿を選択するために必要です。

SELECT      *
FROM        posts
WHERE       category = :logotypes
AND         full_text LIKE CONCAT('%', :term, '%')
ORDER BY    post_date DESC

しかし、検索ワードで、次のような見出しで一致が行われたかどうかも確認したい:

    SELECT      *
    FROM        posts
    WHERE       category = :logotypes
    AND         full_text LIKE CONCAT('%', :term, '%')
--> ALSO CHECK  heading LIKE CONCAT('%', :term, '%')
    ORDER BY    post_date DESC

私はどのように行いますか?

PS カテゴリは常に維持する必要があります。まだあるに違いないcategory = :logotypes

4

2 に答える 2

4

ALSO CHECK単に:に置き換えORます

SELECT      *
FROM        posts
WHERE       category = :logotypes
AND        (full_text LIKE CONCAT('%', :term, '%')
OR          heading LIKE CONCAT('%', :term, '%'))
ORDER BY    post_date DESC

OR-connected述語の前後の括弧を確認してください

于 2012-08-22T13:38:01.163 に答える
1
SELECT      * 
FROM        posts 
WHERE       category = :logotypes 
AND        
(
    full_text LIKE CONCAT('%', :term, '%') 
    OR 
    heading LIKE CONCAT('%', :term, '%')  
)
ORDER BY    post_date DESC 

または、不明瞭に感じている場合

AND CONCAT(full_text,'/', heading) LIKE CONCAT('%', :term, '%')  
于 2012-08-22T13:38:10.960 に答える