gpt4 book ai didi

mysql - SQL JOIN - 在 JOIN 期间将一个表中的值映射到另一个表中的等效值

转载 作者:行者123 更新时间:2023-11-29 07:32:20 25 4
gpt4 key购买 nike

我有以下场景:

Table 1 - Holds product meta data about products.
Table 2 - Holds sales data about the products.

每个表都有一个唯一的产品 ID,但是由于历史原因,表中的 ID 不同。例如:

In Table 1, "Red Hat" -> 1
In Table 2, "Red Hat" -> 3.

我想将表 2 连接到表 1,并根据产品 ID 映射行。

有没有办法“映射”这些值,以便将表 2 中 ID 为 3 的所有行映射到表 1 中 ID 为 1 的所有行?

最佳答案

在连接ON子句中使用case语句进行映射。

演示。

准备表格:

hive> create table testt1 as select 1 as key;
hive> create table testt2 as select 3 as key;

加入用例:

 select t1.key, t2.key 
from testt1 t1
left join testt2 t2
on t2.key=case when t1.key=1 then 3 --add more cases
--when t1.key=<some value> then <mapped value>
else t1.key --default mapping t1.key=t2.key
end
;

结果:

OK
1 3
Time taken: 41.191 seconds, Fetched: 1 row(s)

关于mysql - SQL JOIN - 在 JOIN 期间将一个表中的值映射到另一个表中的等效值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50694058/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com