-1

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

t1表示有序材料。t2表示一个静态表,表示热销材料。

目标是为每个客户创建一个包含材料清单的表格。(t2)不包括任何customer_id参考,但一个region_id关键。

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

我不知道如何在join/union没有 的情况下使用这些表customer_id,因为我会得到重复的条目。

t1看起来像这样:

客户ID region_id material_id
155 不结盟运动 AA-123-526
155 不结盟运动 AA-425-123
157 不结盟运动 AA-123-623
157 不结盟运动 AA-612-244
158 SOA AA-123-456
158 SOA AA-655-876

t2看起来像这样:

region_id material_id
不结盟运动 BB-724-623
不结盟运动 BB-421-125
达赫 BB-123-622
达赫 BB-421-231
SOA BB-123-551
SOA BB-421-125

所需的输出:

客户ID region_id material_id
155 不结盟运动 AA-123-526
155 不结盟运动 AA-425-123
155 不结盟运动 BB-724-623
155 不结盟运动 BB-421-125
157 不结盟运动 AA-123-623
157 不结盟运动 AA-612-244
157 不结盟运动 BB-724-623
157 不结盟运动 BB-421-125
158 SOA AA-123-456
158 SOA AA-655-876
158 SOA BB-123-551
158 SOA BB-421-125
4

1 回答 1

0

样本数据

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

在此处输入图像描述

于 2021-08-06T15:31:29.933 回答