我有个问题..。假设我有一张列有城市名称的桌子。就像这样:
id name
1 Los Angeles
2 Madrid我有一张供用户使用的桌子:
uid username locationid hometownid
1 John 1 2其中,John是一个用户,他现在的位置是洛杉矶,他的家乡是马德里。是否可以使用SELECT查询在一行中检索用户的当前位置名称和家乡名称?如果这是不可能的,您对改变数据库结构有什么建议吗?
发布于 2012-02-26 02:25:25
是的,而且这非常简单--只需在用户表中的每个相关字段中添加一个联接即可。
SELECT u.username, c1.name AS location, c2.name AS hometown
FROM users AS u
LEFT JOIN cites AS c1 ON u.locationid = c1.id
LEFT JOIN cites AS c2 ON u.hometownid = c2.id
WHERE u.id = 1 LIMIT 1;https://stackoverflow.com/questions/9449980
复制相似问题