我正在尝试从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相关面包。那么有人可以帮忙吗?
谢谢
答案 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"