【问题标题】:"select" dilemma“选择”困境
【发布时间】:2012-02-26 10:27:36
【问题描述】:

我有一个问题...假设我有一个包含城市名称的表格。像这样:

id  name  
1   Los Angeles
2   Madrid

我有一张供用户使用的表格:

uid username locationid  hometownid
1   John     1           2

其中 John 是一个用户,他的当前位置是洛杉矶,他的家乡是马德里。 无论如何,我可以使用 SELECT 查询在一行中检索用户的当前位置名称和家乡名称吗?如果不可能,您有什么建议可以改变数据库结构以使其成为可能吗?

【问题讨论】:

    标签: mysql


    【解决方案1】:

    是的,而且非常简单 - 只需向用户表中的每个相关字段添加一个 JOIN。

    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;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-18
      • 2019-06-02
      • 1970-01-01
      • 2011-04-12
      • 2017-05-15
      • 1970-01-01
      相关资源
      最近更新 更多