0
SELECT `bio_community_groups`.`id`, `bio_community_groups`.`name`, `bio_community_groups`.`description`, `bio_community_groups`.`members`
FROM `bio_community_groups`
WHERE `bio_community_groups`.`category_id` = '1'
AND `bio_community_groups`.`name` LIKE '%rock%'
OR `bio_community_groups`.`description` LIKE '%rock%'

问题:没有带有 的组ID = 1,但无论如何......它给了我所有名称或描述类似的组'%rock%'

也许括号可以帮助我?我应该把它们放在哪里?

4

2 回答 2

3

也许这就是您可能正在寻找的:

SELECT `bio_community_groups`.`id`, `bio_community_groups`.`name`, `bio_community_groups`.`description`, `bio_community_groups`.`members`
FROM `bio_community_groups`
WHERE
( `bio_community_groups`.`category_id` = '1' )

AND 
( `bio_community_groups`.`name` LIKE '%rock%'
OR `bio_community_groups`.`description` LIKE '%rock%' );

在您的原始查询中,您将获得令人满意的结果:

`bio_community_groups`.`description` LIKE '%rock%

无论 category_id 是什么。

于 2011-07-07T12:34:02.813 回答
0

AND在 MySQL之前OR。所以你的查询就像(bio_community_groups.category_id = '1' AND bio_community_groups.name LIKE '%rock%') OR (bio_community_groups.description LIKE '%rock%)。只需放置适当的括号即可解决此问题

于 2011-07-07T12:38:05.107 回答