MYSQL Double加入具有相同列名的信息

时间:2015-03-30 09:11:57

标签: mysql sql

基本上这些是我理论上的表格。

item
 -----------------------------
|  Item_id  |  Item Name     |  
 -----------------------------
|  1        |    car         |        
 -----------------------------
|  2        |    door       |          
 -----------------------------

car
 -----------------------------
|  Car_id  |  Car registered |  
 -----------------------------
|  1        |    blah blah   |        
 -----------------------------

house
 -----------------------------
|  House_id  | date_register |  
 -----------------------------
|  2        |    blah bla    |        
 -----------------------------

houseOwn
 ----------------------
|  House_id  | Car_id |  
 ----------------------
|  1        |      2  |        
 ----------------------

基本上我想要它,以便使用houseOwn表我可以显示房产品名称和汽车项目名称字段,如下所示。

 ------------------------
|  House_Name | Car_Name |  
 ----------------------
|  Door      |      Car |        
 ----------------------

我已经弄乱了实际的代码并且只显示两个列显示门(在我的实际数据库中我使用不同的值,因为它与门或汽车无关,这仅用于展示)

2 个答案:

答案 0 :(得分:0)

你可以用这样的查询内连接3个表:

select * from houseOwn as a inner join house as b on a.House_id = b.House_id inner join car as c on a.Car_id = c.Car_id;

据我所见,您无法直接包含Item_id,因为Item_id未在任何其他表格中引用。

答案 1 :(得分:0)

由于您只需要项目名称而不是项目的详细信息,请尝试使用此类

SELECT IH.Item_Name as House_Name,IC.Item_Name as Car_Name,
FROM houseOwn as HO
INNER JOIN item as IH
ON HO.House_id = IH.item_id
INNER JOIN item as IC
ON HO.Car_ID  = IC.item_id