使用一个查询

时间:2015-08-03 20:00:59

标签: php mysql sql

您好我想问一下如何根据我的主表properties表中的id从不同的表中选择不同的值:

以下是我的数据库的组织方式:

propery table:

----------------------------------------------------
id | title | property_type | city | sector | owner | 
----------------------------------------------------
1  | title | 1             | 2    | 6      | 12    |
----------------------------------------------------



property_type table: 

--------------
id | english |
--------------
1  | name    |
--------------
2  | name 2  |
--------------



owner table:

-----------------------------------
id | ownername | phone            |
-----------------------------------
12 | Mike      | 27836            |
-----------------------------------

所以我的主要选择命令是:'SELECT id, title, property_type, owner FROM properties ORDER BY id'

例如,在所有者中,我必须能够同时选择ownernamephone

这两个参数

哪个正在转储不同的ID,但我想修改此查询,以便根据主表中的id从不同的表中选择值。

任何帮助实现这一目标将不胜感激。 Select应该通过一个查询来实现。

查询的结果应为: id(属性表),英语(property_type表),ownername(所有者表:),phone(所有者表)。

2 个答案:

答案 0 :(得分:2)

看起来这是您想要的查询:

SELECT
   P.id
  ,PT.english
  ,O.ownername
  ,O.phone
FROM property P
JOIN property_type PT
  ON PT.id = P.property_type
JOIN owner O
  ON O.id = P.owner

SQLFiddle Here

答案 1 :(得分:0)

select p.id, p.title, p.property_type, o.ownername, o.phone, pt.english
from property p join property_type pt 
on p.property_type = pt.id
join owner o
on o.id = p.owner

你只需join表。如果需要,添加更多列。