2013-04-10 76 views
0

我想从mysql数据库获取有关用户的一些信息。我有一个用户表,其中包含像用户名,出生日期,profiletext,邮政编码等列,然后我有一个名为城市,其中包含邮政编码列和city_name列的表。来自邮政编码的mysql城市名称

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

查询看起来像这样的时刻:

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

    FROM users 
    WHERE id = ? 
'); 

我自己的猜测是,我应该使用某种形式加入的,但我不知道,要么。

希望有人能帮助我。

提前谢谢!

回答

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

荡它,你打我。 – PaulProgrammer 2013-04-10 21:17:56

+0

没有。在我的用户表中,我有一个名为postalcode的列。在城市表中我有postalcode和city_name。我想要的是在用户表 – jah 2013-04-10 21:19:38

+0

@JensAhlstenHerlevsen中获取与邮政编码对应的city_name,以便查询将根据需要返回结果。 – tanaydin 2013-04-10 21:21:59

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 
相关问题