通过kdb中的where子句将表作为条件传递

通过kdb中的where子句将表作为条件传递,kdb,Kdb,我有一张桌子: t:([] sym:`GOOG`AMZN; px:10 20; vol:100 200); 是否可以将子表作为where子句条件传递给该表? 以下查询抛出类型错误: select from t where ([] sym:enlist `GOOG; px:enlist 10) 是的,有可能: q)select from t where([]sym;px) in ([] sym:enlist `GOOG; px:enlist 10) sym px vol ----------

我有一张桌子:

t:([] sym:`GOOG`AMZN; px:10 20; vol:100 200);
是否可以将子表作为where子句条件传递给该表?
以下查询抛出类型错误:

select from t where ([] sym:enlist `GOOG; px:enlist 10)
是的,有可能:

q)select from t where([]sym;px) in ([] sym:enlist `GOOG; px:enlist 10)
sym  px vol
-----------
GOOG 10 100
更新:但是,如果
t
较大,则速度应快得多:

q)([] sym:enlist `GOOG; px:enlist 10)#2!t
sym  px| vol
-------| ---
GOOG 10| 100
是的,有可能:

q)select from t where([]sym;px) in ([] sym:enlist `GOOG; px:enlist 10)
sym  px vol
-----------
GOOG 10 100
更新:但是,如果
t
较大,则速度应快得多:

q)([] sym:enlist `GOOG; px:enlist 10)#2!t
sym  px| vol
-------| ---
GOOG 10| 100