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

如何基于单列横向合并WITH子句中的多个数据集

基于Date列横向合并多个CTE数据集的解决方案

现有三个通过WITH子句定义的数据集,每个都包含Date列及对应的数据列,需要基于Date列将它们横向合并,得到包含Date、Data1、Data2、Data3的统一结果集。之前尝试用JOIN实现时,单日期场景正常,但多日期场景下无法正确整理数据,最终通过以下SQL代码解决问题:

WITH
cte1 AS (
    SELECT '14-Nov' AS Date, 'abc' AS Data1
    UNION ALL
    SELECT '15-Nov', 'def'
),
cte2 AS (
    SELECT '14-Nov' AS Date, '123' AS Data2
    UNION ALL
    SELECT '15-Nov', '456'
),
cte3 AS (
    SELECT '14-Nov' AS Date, '!@#' AS Data3
    UNION ALL
    SELECT '15-Nov', '$%^'
)
SELECT
    cte1.Date,
    cte1.Data1,
    cte2.Data2,
    cte3.Data3
FROM
    cte1
JOIN
    cte2 ON cte1.Date = cte2.Date
JOIN
    cte3 ON cte1.Date = cte3.Date;

这段代码通过INNER JOIN(SQL中默认JOIN即为INNER JOIN)以cte1的Date列为基准,分别关联cte2和cte3的Date列,确保只有在三个数据集里都存在的Date才会被纳入结果,同时将对应的数据列横向拼接在一起,完美适配多日期场景的合并需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 07:07:34