我有两个表格和一个搜索表单来搜索关键字。我试图在两个表上搜索多个列的关键字,如果查询匹配,则获取id列以供进一步使用。我曾经尝试这样做(假设“优惠券”一词用户搜索)在两个mysql表中搜索多个列?
SELECT `ID` FROM `Profiles` AS `p` WHERE `p`.`Status` = 'Active' AND `p`.`Address`
LIKE '%coupon%' OR `p`.`BusinessName` LIKE '%coupon%' OR `p`.`BusinessSubCategory`
LIKE '%coupon%' OR `p`.`DescriptionMe` LIKE '%coupon%' OR `p`.`Tags` LIKE '%coupon%'
UNION SELECT `id` FROM `products` AS `d` WHERE `d`.`status` = 'approved' AND
`d`.`title` LIKE '%coupon%' OR `d`.`desc` LIKE '%coupon%' OR `d`.`tags` LIKE '%coupon%'
在这里,我想谱和与关键字匹配的产品ID的ID。我尝试了这一点,这返回了非常奇怪的结果,看起来只有配置文件ID。所以,它是一个错误的查询。这种搜索的查询应该是什么?内部联接?请给我一些示例查询,我将非常感谢任何帮助。
它返回任何东西,因为我可以看到有两种产品的Desc列优惠券关键字。所以,至少有两个产品应该返回,但没有任何:( – Prashank 2012-07-15 12:36:12
@那里的状态如何? – 2012-07-15 12:40:33
所有产品状态都已批准 – Prashank 2012-07-15 12:42:19