【问题标题】:SQL add table subset for each distinct value in another tableSQL为另一个表中的每个不同值添加表子集
【发布时间】:2021-10-11 10:37:16
【问题描述】:

我想为每个customer_id 一次将表(t2) 的子集添加到另一个表(t1)

t1 表示已订购的材料。 t2 代表一个静态表格,代表热销材料。

我们的目标是为每个客户创建一个包含材料清单的表格。 (t2) 不包括任何 customer_id 引用,而是一个 region_id 键。

基本上我需要的是“根据他的地区将此子集材料列表添加到each customer 的现有材料列表中”

如果没有customer_id,我不知道如何join/union 那些表,因为我会得到重复的条目。

t1 看起来像这样:

Customer_id region_id material_id
155 NAM AA-123-526
155 NAM AA-425-123
157 NAM AA-123-623
157 NAM AA-612-244
158 SOA AA-123-456
158 SOA AA-655-876

t2 看起来像这样:

region_id material_id
NAM BB-724-623
NAM BB-421-125
DACH BB-123-622
DACH BB-421-231
SOA BB-123-551
SOA BB-421-125

想要的输出:

Customer_id region_id material_id
155 NAM AA-123-526
155 NAM AA-425-123
155 NAM BB-724-623
155 NAM BB-421-125
157 NAM AA-123-623
157 NAM AA-612-244
157 NAM BB-724-623
157 NAM BB-421-125
158 SOA AA-123-456
158 SOA AA-655-876
158 SOA BB-123-551
158 SOA BB-421-125

【问题讨论】:

    标签: sql join hana-studio


    【解决方案1】:

    样本数据

    SELECT * FROM t1
    SELECT * FROM t2
    

    解决方案

    SELECT  t1.Customer_id, t1.region_id, t1.material_id FROM t1
    UNION ALL
    SELECT DISTINCT t1.Customer_id, t2.region_id, t2.material_id
    FROM t2 INNER JOIN t1 ON t2.region_id = t1.region_id
    ORDER BY t1.Customer_id
    

    【讨论】:

    • 谢谢!我用这个逻辑检查了它,它按预期工作。
    猜你喜欢
    • 2022-01-04
    • 2019-03-13
    • 2019-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-13
    • 1970-01-01
    • 2014-07-30
    相关资源
    最近更新 更多