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

KDB:如何将行从一个表插入/向上插入到另一个表,kdb,Kdb,k1和k2是键控表k2包含k1及更多列 如何执行从k1到k2的条件向上插入。基本上,以下一项的相应工作说明是什么: k1:([a:("ff"; "yy"; "zz");z:("tt"; "yy"; "hh")] b:("33"; "44"; "55"); c:("66"; "77"; "88")) k2:([z:()] a:(); b:(); c:(); m:(); i:()) 我认为这将解决您的问题: `k2 upsert select k1 where a="ff" xkey将保留k

k1
k2
是键控表
k2
包含
k1
及更多列

如何执行从
k1
k2
的条件向上插入。基本上,以下一项的相应工作说明是什么:

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


k2:([z:()] a:(); b:(); c:(); m:(); i:())

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

`k2 upsert select k1 where a="ff"
xkey将保留k2上的键,而uj将保留所有列,包括k1中没有值的列

在本例中,这将返回:

k2 uj `z xkey select from k1 where a like "ff"

你的陈述实际上非常接近。您可以使用:

z   | a    b    c    m i
----| ------------------
"tt"| "ff" "33" "66"
`k2 upsert 0!select from k1 where a like "ff"