通过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