You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Server创建视图:合并历史与预测货架库存数据

合并历史与预测货架库存数据的SQL解决方案

要得到包含历史实际库存和未来预测库存的完整数据集,核心是确保保留projected_shelf_balance表中的所有日期(包括未来周),同时关联shelf_balance中的历史实际库存数据。可以通过RIGHT JOIN实现,因为预测表已经覆盖了所有需要的时间范围(历史+未来26周)。

具体SQL代码

CREATE VIEW combined_shelf_balance AS
SELECT
    p.Date,
    p.product,
    s.quantity,
    p.proj_quantity
FROM shelf_balance s
RIGHT JOIN projected_shelf_balance p
    ON s.Date = p.Date
    AND s.product = p.product
ORDER BY p.Date, p.product;

代码说明

  • 使用RIGHT JOIN以projected_shelf_balance(预测表)为主表,确保所有预测表中的记录都被保留,包括未来周的数据。
  • 关联条件同时匹配Date和product,保证同一产品同一日期的数据正确关联。
  • 当历史表shelf_balance中没有对应日期的记录时(未来周),quantity字段会自动显示为NULL,完全符合预期输出要求。

通用替代方案(适用于日期范围不完全重叠场景)

如果后续存在两张表日期范围不完全重叠的情况,也可以用FULL OUTER JOIN确保所有两边的记录都被保留,再用COALESCE统一日期和产品字段:

CREATE VIEW combined_shelf_balance AS
SELECT
    COALESCE(s.Date, p.Date) AS Date,
    COALESCE(s.product, p.product) AS product,
    s.quantity,
    p.proj_quantity
FROM shelf_balance s
FULL OUTER JOIN projected_shelf_balance p
    ON s.Date = p.Date
    AND s.product = p.product
ORDER BY Date, product;

内容的提问来源于stack exchange,提问作者jt721

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 13:18:18