KDB选择在哪里

时间:2018-02-23 00:24:55

标签: kdb

我有一张桌子

t:flip `dt`id`data ! (`d1`d1`d2`d2`d3`d3; 0 1 0 1 0 1; 100 200 100 300 0 200)

从其他一些查询中,我有一个表

s:flip `dt`id ! (`d1`d2`d2`d3; 0 0 1 1)

如何从t中选择它返回dt和id组合在s中的所有条目,所以返回

flip `dt`id`data ! (`d1`d2`d2`d3; 0 0 1  1; 100 100 300 200)

1 个答案:

答案 0 :(得分:4)

您可以在表到表操作上使用in,因此只需在t中的所需列创建一个表,然后使用in来搜索相应的记录。只要左参数和右参数中的表列和类型相同,in将按预期生成一个布尔列表。

q)select from t where ([]dt;id) in s
dt id data
----------
d1 0  100
d2 0  100
d2 1  300
d3 1  200