加入2个表SQL

时间:2014-11-24 13:08:35

标签: mysql sql phpmyadmin

我正在尝试从2个表过道中获取数据并输入。 aisle表具有以下构造:

aisle_id | name | x | y 

并且type表具有以下构造

type_id | name | aisle_id (FK)

aisle_id是外键。

我正在使用这个有效的SQL查询,但不像预期的那样:

SELECT NAME,X, Y FROM type, aisle where Name ="bread"

这句话给我的回报是,它返回面包,但也返回X和Y的所有数据,我不想要,我只想要x和y相关面包。那么有人可以帮忙吗?

谢谢

2 个答案:

答案 0 :(得分:1)

尝试在aisle_id上​​加入两个,如下所示:

SELECT t.Name, a.X, a.Y
FROM aisle a INNER JOIN type t 
ON   a.aisle_id = t.aisle_id
WHERE a.Name ="bread"

答案 1 :(得分:0)

通过简单的Google搜索,并且由于您知道自己需要什么(加入),第一个结果直接来自MySQL documentation

  

一些加入示例:

SELECT * FROM table1, table2;

SELECT * FROM table1 INNER JOIN table2 ON table1.id=table2.id;

SELECT * FROM table1 LEFT JOIN table2 ON table1.id=table2.id;

SELECT * FROM table1 LEFT JOIN table2 USING (id);

SELECT * FROM table1 LEFT JOIN table2 ON table1.id=table2.id
  LEFT JOIN table3 ON table2.id=table3.id;

在你的情况下,它将是:

SELECT aisle.NAME, aisle.X, aisle.Y FROM type JOIN aisle ON type.type_id = aisle.type_id WHERE aisle.Name ="bread"