2014-11-24 65 views
0

我试图从2个表过道和类型中获取数据。该aisle表有下面的结构:加入2个表SQL

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与面包有关。那么谁能帮忙?

谢谢

+0

提示:两个表中有一个'aisle_id'和'JOIN'应该有一个'ON'条款。 – 2014-11-24 13:09:20

回答

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" 
0

用一个简单的谷歌搜索,因为你知道你需要什么(加入),第一个结果直接从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"