OR运算符的KDB查询

时间:2014-11-07 14:58:18

标签: kdb

KDB Web中的等效查询是什么:

SELECT * FROM TABLE
WHERE (COLA = 'A' AND COLB = 'B') OR (COLA = 'C' AND COLB = 'D')

http://kdbserver:5001/?select fro table where _____________________

N.B。:cola和colb有字符串数据类型

4 个答案:

答案 0 :(得分:8)

你可以这样做:

select from table where ((COLA like "string1")&(COLB like "string2"))|((COLA like "string3")&(COLB like "string4"))

答案 1 :(得分:3)

6

答案 2 :(得分:1)

Connor是对的,他的回答非常有效。只想添加一个带有list操作的版本而不是table:

tab:([]cola:("aaa";"bbb";"ccc");colb:("ddd";"eee";"fff"))
select from tab where (flip(cola;colb))in\:(("aaa";"ddd");("bbb";"eee"))

执行速度几乎与Connor的一个

相同

答案 3 :(得分:0)

有时我更喜欢将类型更改为符号以获得结果,
说,

tab1:([]a:string 10?`2;b:string 10?`2; c: string 10?`2)  

-

select from tab1 where (((`$a)=`$"ci") & ((`$b)=`$"lf")) or (((`$a)=`$"en") & ((`$b)=`$"dl"))