0

我有两个表用户和卖家,其中 user_id 和 Seller_id 不同。我想比较卖家和用户的名字和姓氏的搜索查询并得到结果。这两个表没有与之关联的外键,并且在卖家表上它只是卖家名称。没有名字或姓氏。

SELECT *
FROM users
WHERE first_name LIKE "%'.$search_string.'%"
OR last_name LIKE "%'.$search_string.'%"

这适用于用户表..如何将其与卖家表连接?

从用户表中,我想获取 user_id、first_name、last_name。从sellers 表中我想得到seller_id、seller_name。

4

1 回答 1

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。

于 2013-11-03T20:21:44.260 回答