kdbunionjoin(withplusjoin)

我已经被困在这个问题上一段时间了,但无法提出解决方案,任何帮助都会得到帮助

我有 2 张桌子

q)x
a b c d
--------
1 x 10 1
2 y 20 1
3 z 30 1

q)y
a b| c d
---| ----
1 x| 1 10
3 h| 2 20

想要sum常见的列并附加新的列。预期结果应该是

a b c d
--------
1 x 11 11
2 y 20 1
3 z 30 1
3 h 2  20

pj看起来只更新(1,x)但不插入新的(3,h). 我假设必须有一种方法可以在 kdb 中进行某种 union+plus join

回答

您可以在此处利用加号 (+) 运算符,只需键入 x 并添加表 y 即可获得所需的表:

q)(2!x)+y
a b| c  d
---| -----
1 x| 11 11
2 y| 20 1
3 z| 30 1
3 h| 2  20

相同的“如果有匹配的键则加号,如果没有则插入”行为也适用于字典:

q)(`a`b!1 2)+`a`c!10 30
a| 11
b| 2
c| 30


以上是kdbunionjoin(withplusjoin)的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>