该查询用于按城市或地区搜索用户
USER_TABLE:
id user_name
1 user 1
2 user 2
3 user 3
第二个表是:
user_id area_id
1 1
1 2
1 3
1 4
3 1
3 2
3 3
3 4
,区域表是:
id area_name
1 Area 1
2 Area 2
3 Area 3
4 Area 4
它返回记录,但我想用另外一个表加入搜索:
id city_name
1 Area
select *
from user_table as ut
left join second_table as st on ut.id=st.user_id
left join area_table as at on st.area_id = at.id
where like at.area_name=%Area%
答案 0 :(得分:0)
Heum,如果我理解得很好,您希望向所有用户提供有关城市名称或地区名称匹配搜索的城市和区域的信息。
也许你可以试试:
我想你传递了两个必须匹配的不同值(来自搜索):
SELECT *
FROM user_table AS u
JOIN city_table AS c ON u.id = c.user_id AND c.city_name LIKE '%City%'
JOIN area_table AS a ON c.area_id = a.id AND a.area_name LIKE '%Area%'
每个用户应返回一行。