SIMPLE MySQL加入库存

时间:2010-08-17 15:32:40

标签: sql join inner-join

我是SQL的新手,我遇到的问题是我认为这是一个简单易用的SQL连接语句。

我有一个“库存”和一个“商品”表。 “inventory”表包含user_id,item_id和qty。 “items”表包含item_id和item_name。

我希望用户使用其user_id获取“inventory”表中列出的所有库存项目的列表,然后在每行中显示与“inventory”中的item_id相关联的“items”表中的item_name表...

它似乎应该非常简单,但我的所有查询似乎都返回“items”表中的每个项目,而不是“inventory”表中的每个项目。有人能给我一个我应该使用的SQL查询的例子吗?

3 个答案:

答案 0 :(得分:1)

select i.user_id, i.item_id, i.qty, it.item_name
from inventory i
inner join items it on i.item_id = it.item_id
where i.user_id = 42

<强>更新

如果无法保证items表中有匹配的记录,您可能需要使用左外连接,如下所示:

select i.user_id, i.item_id, i.qty, it.item_name
from inventory i
left outer join items it on i.item_id = it.item_id
where i.user_id = 42

答案 1 :(得分:0)

在这里,试试这个:

select inventory.user_id, items.item_name
from inventory
inner join items on inventory.item_id = items.item_id
where inventory.user_id = `$some_user_id`;

答案 2 :(得分:0)

SELECT inventory.*, items.* FROM inventory, items WHERE inventory.user_id='$userid' AND inventory.item_id = items.item_id