Home › Forums › kdb+ › select with combinational conditions › Re: select with combinational conditions
-
Something worth adding to the previous answers: If you can transform your filter into a table then the select is much easier. To illustrate
q)t:flip `date`data!(2023.05.20 2023.05.20 2023.05.20 2023.05.19 2023.05.19 2023.05.19;`a`c`b`b`b`c) q)t date data --------------- 2023.05.20 a 2023.05.20 c 2023.05.20 b 2023.05.19 b 2023.05.19 b 2023.05.19 c q)select from t where ([] date;data) in ([] date:2023.05.20 2023.05.20 2023.05.19;data:`a`b`b) date data --------------- 2023.05.20 a 2023.05.20 b 2023.05.19 b 2023.05.19 b q)filter:([] date:2023.05.20 2023.05.19 2023.05.18 2023.05.17; data:(`a`b;enlist `b;`c`d`a;`d`a)) q)filter date data ----------------- 2023.05.20 `a`b 2023.05.19 ,`b 2023.05.18 `c`d`a 2023.05.17 `d`a q)ungroup filter date data --------------- 2023.05.20 a 2023.05.20 b 2023.05.19 b 2023.05.18 c 2023.05.18 d 2023.05.18 a 2023.05.17 d 2023.05.17 a q)t1:ungroup filter q)select from t where ([] date;data) in t1 date data --------------- 2023.05.20 a 2023.05.20 b 2023.05.19 b 2023.05.19 b