【问题标题】:How do I get 2 table data in one mysql query如何在一个 mysql 查询中获取 2 个表数据
【发布时间】:2014-02-26 07:54:12
【问题描述】:

嗯,在 mysql 数据库中有 2 个表。

a) 用户 表结构

------------------------
id            user_email
------------------------
1             email1@yahoo.com
2             email2@yahoo.com
3             email3@yahoo.com
6             email6@yahoo.com
7             email7@yahoo.com
9             email9@yahoo.com

b) 用户属性

-------------------------------------------------------------------------------------------
property_id    user_id   pcode    pvalue    paddress    psuburb  creation_date
-------------------------------------------------------------------------------------------
10             1         11205    $100      address      suburb   10-02-2014 
11             2         11205    $100      address      suburb   10-02-2014
12             3         11205    $100      address      suburb   10-02-2014
13             10        11205    $100      address      suburb   10-02-2014
14             12        11205    $100      address      suburb   10-02-2014

所以在用户表中有用户电子邮件地址存在。所以我想从 users 表中获取一些带有电子邮件地址的 user_property 表数据。但是如何通过单个 mysql 查询获得它?

$sql =  mysql_query("select user_id, postcode, paddress, psuburb, pvalue, creation_date FROM 
user_property ORDER BY property_id DESC");

在我的 users 表中,电子邮件地址字段名称为 user_email,id 字段名称为 id

【问题讨论】:

  • 通过使用JOIN ?
  • 正如@Mr.Alien 所说,如果你不知道怎么做,这是教程http://www.w3schools.com/sql/sql_join.asp
  • 您也可以使用 UNION 运算符。

标签: php mysql


【解决方案1】:

我在一些假设的基础上给出你的问题的答案,尝试用你的查询来实现它,使用JOIN

$sql =  mysql_query("select u.*, up.postcode, up.paddress FROM users as u JOIN users_property as up on u.email=up.user_email ORDER BY up.property_id DESC");

假设是:

  • 有两个表usersusers_property

  • 您的 users 表有一些字段,并且 users_property 有邮政编码, 地址等。

  • 如果要从中检索字段名称,可以添加字段名称 users_property

更新答案:

$sql =  mysql_query("select u.id,up.* FROM users as u JOIN users_property as up on u.email=up.user_email ORDER BY up.property_id DESC");

【讨论】:

  • 我正在尝试。谢谢。
  • 我更新了我的问题。请检查一下。实际上,我想从 user_property 表中获取所有数据,并从 users 表中获取电子邮件地址。
  • 查看我更新的答案,现在查询将从user_property 获取全部数据并从用户那里获取ID。
  • 它不返回任何数据。
  • 哦,我找到了解决方案。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多