【发布时间】:2019-11-20 12:26:32
【问题描述】:
我正在寻找一种方法来加入 2 个表,如下所示:
T1: T2:
a b c d e
------- -------------
1 b1 1 d1 e1
2 b2 2 d2 e2
3 b3 ST d0 e0
--> join on T1.a = T2.c (if no match found join on T1.c = ST)
a b c d e
----------------------
1 b1 1 d1 e1
2 b2 2 b2 e2
3 b3 ST d0 e0 <- No match found so ST values are used.
现在我只在 T2.c 是整数时找到了一种方法。我做了一个条件连接 en 之后,我每隔一列取 c en group 的最大值。
有没有办法像匹配列中的示例那样使用字符串值?
谢谢
【问题讨论】:
-
第二个表中是否只有一个非数字值?
-
不,还有更多。这只是我的问题的基础。实际上,连接在列上匹配,第二列(属性)定义了需要在第一列中使用的默认值。所以当属性列是'at1'时。需要使用的默认值在 t2.c ='St' 的行中 当属性列 ='at2' 时,需要使用的默认值在 t2.c ='St2' 的行中。但这并不是真正的问题。加上@GordonLinoff 的回答,我已经成功了。