【发布时间】:2021-01-07 00:00:21
【问题描述】:
先生,我有 3 个 SQL 表,即库存、购买和销售。 在库存表中,我有 SKU、数量、MRP 等字段 在购买表中,我有 SKU、purch_qty、purch_date 等字段。 在已售出的表中,我有 SKU、sold_qty、sold_date 等字段。
我的查询是当我想创建一个视图时,我可以在其中查看所有 SKU 的初始数量、已售数量、puch_qty、availabe_Qty,例如(SKU、initial_qty、purchase_qty、sold_qty、stock_availabe)
我尝试在 SKU 上加入这些表,但结果是数量增加了两倍。
你能帮我解决这个问题吗?
我的sql查询代码是
SELECT stk.id, stk.sku, SUM(stk.qty) AS Initial_Qty, SUM(pur.qty) AS Purch_Qty, SUM(sld.qty) AS Sold_Qty
FROM dbo.stock AS stk LEFT OUTER JOIN
dbo.sold AS sld ON stk.sku = sld.sku LEFT OUTER JOIN
dbo.purchase AS pur ON stk.sku = pur.sku
GROUP BY stk.id, stk.sku
【问题讨论】:
-
向我们展示一些示例表数据和预期结果 - 全部为格式化文本(无图像)。 minimal reproducible example.
-
顺便说一句,您的表格有列,而不是字段。
-
请在代码问题中给出minimal reproducible example--cut & paste & runnable code,包括最小的代表性示例输入为代码;期望和实际输出(包括逐字错误消息);标签和版本;明确的规范和解释。给出尽可能少的代码,即您显示的代码可以通过您显示的代码扩展为不正常的代码。 (调试基础。)对于包含 DBMS 和 DDL(包括约束和索引)和输入为格式化为表的代码的 SQL。 How to Ask 暂停总体目标的工作,将代码砍到第一个表达式,没有给出你期望的内容,说出你的期望和原因。
-
给您带来的不便,我深表歉意。我将使用相关表和代码更新查询。
标签: sql group-by sum subquery left-join