如何在kdb中的一个字段中查询多个符号?

时间:2017-06-20 20:27:39

标签: kdb

如果我只在过滤器中放入一个符号,如何选择特定记录?

Eg:
tab:([]a:1 2 3;b:(`abc`bde;`efg`rte;`dqw`gds))
1   (`abc`bde)
2   (`efg`rte)
3   (`dqw`gds)

我想过滤abc,所以只返回:

1   (`abc`bde)

select from tab where b=`abc无效。

1 个答案:

答案 0 :(得分:5)

您可以使用带有/:功能的每个右侧副词in

q)select from tab where `abc in/: b
a b      
---------
1 abc bde

这里需要每个权利,因为表格列是向量;所以in正在嵌套符号列表上运行。下面的exec调用更清楚地显示了这一点:

q)0N!(exec b from tab);
(`abc`bde;`efg`rte;`dqw`gds)