我有一张表叫做产品。基本上,我需要在这样的各个字段中使用相同的词进行搜索,这很好用。
SELECT `id`, `product-id`, `country`, `name`, `description`, `branch`, `stock`, `price` FROM `products` WHERE `name` LIKE "%car%" OR `description` LIKE "%car%" OR `branch` LIKE "%car%" OR `product-id` LIKE "%car%"
问题是现在我想要一个不同的查询。我只想显示来自特定国家/地区的所有汽车,以及其他字段。因此,如果我运行此查询
SELECT DISTINCT(b.`id`) id, a.id, a.`product-id`, a.`country`, a.`name`, a.`description`, a.`branch`, a.`stock`, a.`price` FROM `products` as a, ( SELECT * FROM `products` WHERE `country` = "Canada" LIMIT 0, 10 )AS b WHERE a.`id` = b.`id` OR b.`product-id` LIKE "%car%" OR b.`name` LIKE "%car%" OR b.`branch` LIKE "%car%" OR b.`description` LIKE "%car%" LIMIT 0, 10
我从多个国家/地区获得结果,我在做什么错呢?
提前致谢
您只需要对您的条件进行分组,
SELECT ... FROM ... WHERE (a.`id` = b.`id`) AND ( b.`product-id` LIKE "%car%" OR b.`name` LIKE "%car%" OR b.`branch` LIKE "%car%" OR b.`description` LIKE "%car%" )