我有一张桌子
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)
答案 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