在KDB中,是否可以使用“ like”或“〜”执行lj(左联接)来联接2个表,其中1个表的键通过regex匹配另一个表的键?
答案 0 :(得分:3)
不使用开箱即用的工具,但是您可以执行类似的操作(效率不高)
q)t:([]sym:`ACF`ABC`ABD`BA`AAF`AABG`CDE;col1:til 7)
q)t2:([]regex:("*AB*";"AA?";"A*";"C*");col2:4#.Q.A)
q)t,'t2 first each where each t[`sym]like'\:t2[`regex]
sym col1 regex col2
---------------------
ACF 0 "A*" C
ABC 1 "*AB*" A
ABD 2 "*AB*" A
BA 3 ""
AAF 4 "AA?" B
AABG 5 "*AB*" A
CDE 6 "C*" D
如果存在多个匹配项,则此方法将采用第一个匹配模式。
另一个想法是创建一个制造的密钥,并在该制造的密钥上保留左键。