2012-08-01 124 views
0

親愛的朋友們我有一張桌子(code_bit_table),裏面有文章商店。每篇文章都有SUBJECT,然後每篇文章都有TITLE和TAGS。我希望根據標題或標籤字段中的任何字母來搜索表格,但要在單個主題中搜索表格。例如,我想只搜索PHP,並在PHP中,我想檢查TITLE或TAGS字段是否包含一些文本(如數組)。Mysql查詢解決方案

問題是我的查詢返回其他主題。這可能是一個非常簡單的問題,但一直困擾我很多

SELECT * FROM code_bit_table WHERE `subject` = 'PHP' AND `tags` LIKE 
    '%text%' OR `title` LIKE '%text%' 

查詢工作正常,但爲什麼它返回其他學科如jQuery等也出現在同一個表。

回答

1

括號是你的朋友。

SELECT * 
FROM code_bit_table 
WHERE `subject` = 'PHP' 
    AND (`tags` LIKE '%text%' 
      OR `title` LIKE '%text%' 
    ) 
+0

謝謝主席先生,我認爲這是它..感謝了很多 – 2012-08-01 11:46:22

1
 SELECT * FROM code_bit_table WHERE `subject` = 'PHP' AND (`tags` LIKE 
    '%text%' OR `title` LIKE '%text%') 
+0

謝謝主席先生,我認爲這是它..感謝了很多 – 2012-08-01 11:38:41

1

你必須把開閉括號 '(' & ')' 爲OR部分覆蓋AND運營商作爲優先:

SELECT * 
FROM code_bit_table 
WHERE `subject` = 'PHP' AND 
     (`tags` LIKE '%text%' OR `title` LIKE '%text%'); 
+0

謝謝主席先生,我認爲這是它..感謝了很多 – 2012-08-01 11:45:37

1

你必須組tagstitle

SELECT * 
    FROM code_bit_table 
WHERE `subject` = 'PHP' AND 
     (`tags` LIKE '%text%' OR 
     `title` LIKE '%text%'); 
+0

謝謝先生,我認爲這是它..非常感謝 – 2012-08-01 11:45:59