【发布时间】:2014-10-10 19:11:11
【问题描述】:
愚蠢的 kdb 问题。我想根据 t2 中的哪些键与 t1 中的列匹配从 t1 中选择行。在下面的示例中,t1 中出现在 t2 中的唯一 datesym 组合是 d1s3 和 d3s4。因此,我的结果表 t3 应该只有这两行。
t1:([]date:`d1`d2`d3`d3;sym:`s1`s2`s3`s4;price:100 200 300 400)
date sym price
d1 s1 100
d2 s2 200
d3 s3 300
d3 s4 400
t2:2!([]date:`d1`d3`d3`d4;sym:`s1`s2`s4`s9;var1:`Blah`Blah`Blah`Blah;var2:`Blah`Blah`Blah`Blah)
date sym | var1 var2
d1 s1 Blah Blah
d3 s2 Blah Blah
d3 s4 Blah Blah
d4 s9 Blah Blah
t3:([]date:`d1`d3;sym:`s1`s4;price:100 400)
date sym price
d1 s1 100
d3 s4 400
这样做的一个愚蠢的方法是
delete var1,var2,... from t1 ij t2
有没有一种更简洁的方法,不需要手动删除 t2 的所有非键列?
【问题讨论】: