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%'
的所有群组。
也许括号可能对我有帮助?我应该把它们放在哪里?
答案 0 :(得分: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是什么。
答案 1 :(得分:0)
AND
位于OR
之前。所以你的查询就像(bio_community_groups.category_id = '1'
AND bio_community_groups.name LIKE '%rock%')
OR (bio_community_groups.description LIKE '%rock%
)。只需放置适当的括号即可解决此问题