Передайте таблицу как условие с предложением where в kdb - PullRequest
0 голосов
/ 08 мая 2020

У меня есть таблица t:

t:([] sym:`GOOG`AMZN; px:10 20; vol:100 200);

Можно ли передать подтаблицу в качестве условия предложения where в таблицу?
Ниже запроса возникает ошибка типа:

select from t where ([] sym:enlist `GOOG; px:enlist 10)

1 Ответ

2 голосов
/ 08 мая 2020

Да, это возможно:

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
...