Mysql查询解决方案

问题描述:

亲爱的朋友们我有一张桌子(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等也出现在同一个表。

括号是你的朋友。

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

谢谢主席先生,我认为这是它..感谢了很多 – 2012-08-01 11:46:22

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

谢谢主席先生,我认为这是它..感谢了很多 – 2012-08-01 11:38:41

你必须把开闭括号 '(' & ')' 为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

你必须组tagstitle

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

谢谢先生,我认为这是它..非常感谢 – 2012-08-01 11:45:59