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

如何关联历史与预测数据集,生成指定结构的视图?

问题解答

可以实现关联,不需要额外追加日期,两张表自带的日期字段足够支撑需求。

你的原SQL存在语法和逻辑问题:

  • Left Join缺少关联的目标表名(需指定关联预测表)
  • On子句位置错误,应紧跟在关联表名后
  • Case语句未指定别名,字段间缺少逗号分隔
  • 未按日期匹配,会导致同一Unique_ID下日期不对应的无效关联

针对需求,提供三种常用场景的正确SQL写法:

场景1:保留所有日期(含历史表有但预测表无、预测表有但历史表无的日期)

SELECT
    COALESCE(H.Date, F.Date) AS Date,
    H.Data AS H.Data,
    F.Data AS F.Data,
    COALESCE(H.Unique_ID, F.Unique_ID) AS Unique_ID
FROM Historical AS H
FULL OUTER JOIN Forecast AS F
    ON H.Unique_ID = F.Unique_ID
    AND H.Date = F.Date

用COALESCE取非空的日期和唯一标识,FULL OUTER JOIN确保两边所有记录都被保留。

场景2:仅保留日期重叠且唯一标识匹配的记录

SELECT
    H.Date AS Date,
    H.Data AS H.Data,
    F.Data AS F.Data,
    H.Unique_ID AS Unique_ID
FROM Historical AS H
INNER JOIN Forecast AS F
    ON H.Unique_ID = F.Unique_ID
    AND H.Date = F.Date

INNER JOIN仅返回两边同时存在匹配(唯一标识+日期都对应)的记录,精准覆盖重叠日期区间。

场景3:保留历史表所有日期,匹配对应日期的预测数据(无则显示NULL)

SELECT
    H.Date AS Date,
    H.Data AS H.Data,
    F.Data AS F.Data,
    H.Unique_ID AS Unique_ID
FROM Historical AS H
LEFT JOIN Forecast AS F
    ON H.Unique_ID = F.Unique_ID
    AND H.Date = F.Date

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 17:07:17