【发布时间】:2021-12-15 07:40:56
【问题描述】:
对不起,如果标题令人困惑,因为英语不是我的第一语言。但我会尽量详细描述我的表格。
我的数据库中有 3 个表,名为:Restaurant1、Restaurant2 和 ItemList
餐厅 1 和餐厅 2 的表都包含两列名称:PID(产品 ID)和数量(数量)
ItemList 表包含三列,分别命名为:PID(产品 ID 以及)、产品和 supID(供应商 ID)
这是可视化:
餐厅 1:
PID QTY
========= ============
p01 1
p04 5
p06 4
p10 4
p12 1
p14 6
餐厅 2:
PID QTY
========= ============
p04 5
p09 4
p13 3
项目清单:
PID Product supID
========= ============ ======
p01 Beef Steak mla1
. Beef Cutlet mla2
. Pork Steak .
. Whole Chicken .
. . .
. . .
and so on... mla15
p15
supID 列与此问题无关,因为我想知道如何将餐厅 1 和餐厅 2 像这样组合:
餐厅 1 和 2(合并):
PID QTY
========= ============
p01 1
p04 5
p06 4
p10 4
p12 1
p14 6
p04 5
p09 4
p13 3
简而言之...我想将两个表的值合并到一个表中。但是我只想使用JOIN子句,比如内连接、外连接等。
这是我尝试过但不起作用的方法,我不知道我还能做什么其他解决方案。
SELECT ItemList.PID, Restaurant1.QTY, Restaurant2.QTY FROM ItemList
-> OUTER JOIN Restaurant1 ON ItemList.PID=Restaurant1.PID
-> OUTER JOIN Restaurant2 ON ItemList.PID=Restaurant2.PID;
我尝试了不同的组合,例如使用 LEFT JOIN 和 RIGHT JOIN,但它给了我不同的输出。
希望有人能提供帮助。
编辑:我不想制作另一张桌子。相反,我只想以我展示它的方式展示它。其中显示了 Restaurant1 和 Restaurant2 表中产品和数量的组合列表。
【问题讨论】:
-
在您的示例中,两个餐厅以及组合表中的 p04=5。当两家餐厅的同种产品数量不同时,您希望合并表中有什么?
-
@rd_nielsen 这对我来说没问题,因为它们是不同餐厅的产品,但当然,如果增加它们的数量会更好
-
我建议只有一张包含 3 列的餐厅餐桌:restaurant_id、product_id 和数量。
-
你的例子没用。请让每家餐厅的 p04 数量不同,并显示新的 p04 结果并说明结果的计算方式