KDB:如何从一个表插入/插入行到另一个表

use*_*563 2 kdb

k1:([a:("ff"; "yy"; "zz");z:("tt"; "yy"; "hh")] b:("33"; "44"; "55"); c:("66"; "77"; "88"))


k2:([z:()] a:(); b:(); c:(); m:(); i:())
Run Code Online (Sandbox Code Playgroud)

k1并且k2是键控表.k2拥有所有列k1和更多.

如何从执行条件UPSERT k1k2.基本上,下面的相应工作说明是什么:

`k2 upsert select k1 where a="ff"
Run Code Online (Sandbox Code Playgroud)

Joe*_*ths 7

我认为这将解决您的问题:

k2 uj `z xkey select from k1 where a like "ff"
Run Code Online (Sandbox Code Playgroud)

xkey将维持k2上的键,而uj将维护所有列,包括那些没有k1值的列.

在这个例子中,这将返回:

z   | a    b    c    m i
----| ------------------
"tt"| "ff" "33" "66"
Run Code Online (Sandbox Code Playgroud)