我试图从mysql数据库中获取有关用户的一些信息。我有一个用户表,其中包含用户名,生日,profiletext,邮政编码等列,然后我有一个名为cities的表,其中包含postalcode列和city_name列。
我想要的是从邮政编码中获取用户的城市名称。
此时查询如下所示:
$sql = ('
SELECT
username,
birthdate,
TIMESTAMPDIFF(YEAR,birthdate,CURDATE()) AS age,
profile_text,
FROM users
WHERE id = ?
');
我自己的猜测是我应该使用某种联接,但我也不确定。
希望有人可以帮助我。
提前谢谢!
答案 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