我在 KDB 中有一个表,其中一列是符号列表,例如:-

q)table:([id:1 2 3 4 5] books:((`book1`book2);(enlist `book6);(enlist`book3);(enlist`book4);(`book2;`book5)))
q)table
id| books
--| ------------
1 | `book1`book2
2 | ,`book6
3 | ,`book3
4 | ,`book4
5 | `book2`book5
q)

我想找到“book2”是书籍列中书籍之一的所有行,我该怎么做?因此,在上面的示例中,我希望返回第 1 行和第 5 行。我使用“in”运算符尝试了各种方法,但要么出错要么没有结果,例如:-
q)select from books where `book2 in books
clientTradeId| book
-------------| ----
q)select from books where enlist `books2 in books
'length

最佳答案

select from table where `book2 in'books

这利用了副词 each-both,在此处阅读更多相关信息:
http://code.kx.com/q4m3/6_Functions/#672-each-both

关于kdb - 如何查询其中一列是列表的 KDB 表?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40090753/

10-12 20:45