我已经被困在这个问题上一段时间了,但无法提出解决方案,任何帮助都会得到帮助
我有 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
Run Code Online (Sandbox Code Playgroud)
想要sum常见的列并附加新的列。预期结果应该是
a b c d
--------
1 x 11 11
2 y 20 1
3 z 30 1
3 h 2 20
Run Code Online (Sandbox Code Playgroud)
pj看起来只更新(1,x)但不插入新的(3,h). 我假设必须有一种方法可以在 kdb 中进行某种 union+plus join
小智 7
您可以在此处利用加号 (+) 运算符,只需键入 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
Run Code Online (Sandbox Code Playgroud)
相同的“如果有匹配的键则加号,如果没有则插入”行为也适用于字典:
q)(`a`b!1 2)+`a`c!10 30
a| 11
b| 2
c| 30
Run Code Online (Sandbox Code Playgroud)