我有两个表用户和卖家,其中user_id和seller_id不同。我想比较第一个名称的搜索查询和卖家和用户的姓氏,并获得结果。这两个表没有与之关联的外键,在卖家表上只有卖家名称。没有名字或姓氏。
SELECT *
FROM users
WHERE first_name LIKE "%'.$search_string.'%"
OR last_name LIKE "%'.$search_string.'%"
适用于users表..如何将其与卖家表联系起来?
在users表中,我想获取user_id,first_name,last_name。从卖家表中我想获得seller_id,seller_name。
答案 0 :(得分:0)
我不太了解你想要完成的任务,因为你没有提到是否有一个可连接的字段,例如,事务ID,用于关联用户和卖家。
如果您只搜索主题与搜索字符串匹配的任何用户行或卖家行,您可以尝试使用
SELECT 'users' as origin, CONCATENATE('first_name',' ','last_name') as name
FROM users
WHERE (first_name like '%".$search_string."%' OR last_name like '%".$search_string."%')
UNION
SELECT 'sellers' as origin, seller_name as name
FROM sellers
WHERE ( seller_name like '%".$search_string."%')
请记住,如果删除“origin”列,UNION语句将对结果集执行隐式DISTINCT。如果您需要显示欺骗结果,那么您应该使用UNION ALL。