来自邮政编码的mysql城市名称

时间:2013-04-10 21:12:34

标签: mysql join

我试图从mysql数据库中获取有关用户的一些信息。我有一个用户表,其中包含用户名,生日,profiletext,邮政编码等列,然后我有一个名为cities的表,其中包含postalcode列和city_name列。

我想要的是从邮政编码中获取用户的城市名称。

此时查询如下所示:

$sql = ('
    SELECT
    username,
    birthdate,
    TIMESTAMPDIFF(YEAR,birthdate,CURDATE()) AS age,
    profile_text,

    FROM users
    WHERE id = ?
');

我自己的猜测是我应该使用某种联接,但我也不确定。

希望有人可以帮助我。

提前谢谢!

2 个答案:

答案 0 :(得分:3)

这是你要找的sql吗?

SELECT
    users.username,
    users.birthdate,
    TIMESTAMPDIFF(YEAR,users.birthdate,CURDATE()) AS age,
    users.profile_text,
    cities.city_name,
    cities.postalcode
FROM users, cities
    WHERE id = ? and cities.postalcode = users.postalcode

答案 1 :(得分:2)

这是一个相当简单的联接...我没有你确切的字段,但是这样的东西:

SELECT
    u.username,
    u.birthdate,
    TIMESTAMPDIFF(YEAR,u.birthdate,CURDATE()) AS age,
    u.profile_text,
    c.city

FROM users u, cities c
WHERE u.id = ? 
    and c.postal_code = u.postal_code