2016-03-05 100 views
-1

我是mysql中的新手,我对使用不同的连接有个疑问。例如说,我有2个表中,一个标题的总数和另一个标题为产品每个中包含的值,加入子表格和父表格

产品

ID | Name 
-------- 
1 | coffee 
2 | tea 
3 | chocolate 

总计

Quantity | goods ID 
--------------------- 
40 | 3 
20 | 2 
10 | 1 

喜欢这张例如,货物ID总共是商品表的ID的孩子,但是我想要的显示器是

总计

Quantity | goods ID 
------------------- 
40 | chocolate 
20 | tea 
10 | coffee 

我只是想知道不同连接的适用位置。

+0

请参阅[此连接的极佳解释](http://blog.codinghorror.com/a-visual-explanation-of-sql-joins/) –

+0

显然我需要的是内连接? –

+1

select * from goods INNER JOIN totals ON goods.ID = totals.goods ID? –

回答

0

跟随从Juergen发布的链接(该链接是一个非常好的参考),要实现第三个表的结果,您可以使用INNER JOIN,FULL OUTER JOIN或LEFT/RIGHT OUTER JOIN。原因是因为你的两个表被设置为相互匹配,因此没有空值需要担心。

但是,如果表被设置是这样的:

商品

ID |名称
--------
1 |咖啡
2 |茶
3 |巧克力
4 |牛奶

总计

数量|商品ID
---------------------
40 | 3
20 | 2
10 | 1

然后,要达到相同的结果,您希望使用INNER连接。