KDB select 其中
KDB select where
我有一个table
t:flip `dt`id`data ! (`d1`d1`d2`d2`d3`d3; 0 1 0 1 0 1; 100 200 100 300 0 200)
从其他查询中,我有一个 table
s:flip `dt`id ! (`d1`d2`d2`d3; 0 0 1 1)
我如何从 t select 中 returns 所有 dt 和 id 的组合都在 s 中的条目,所以 return
flip `dt`id`data ! (`d1`d2`d2`d3; 0 0 1 1; 100 100 300 200)
您可以在 table 到 table 操作上使用 in
,因此只需从 t 中所需的列创建一个 table 并使用 in 搜索相应的 s记录。只要左参数和右参数的 table 列和类型相同,那么 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
我有一个table
t:flip `dt`id`data ! (`d1`d1`d2`d2`d3`d3; 0 1 0 1 0 1; 100 200 100 300 0 200)
从其他查询中,我有一个 table
s:flip `dt`id ! (`d1`d2`d2`d3; 0 0 1 1)
我如何从 t select 中 returns 所有 dt 和 id 的组合都在 s 中的条目,所以 return
flip `dt`id`data ! (`d1`d2`d2`d3; 0 0 1 1; 100 100 300 200)
您可以在 table 到 table 操作上使用 in
,因此只需从 t 中所需的列创建一个 table 并使用 in 搜索相应的 s记录。只要左参数和右参数的 table 列和类型相同,那么 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