我正在努力学习卡桑德拉。我正在使用Windows社区 edition(2.0)。
我的表架构是:
CREATE TABLE test.TestTable2 (
PK1 int,
PK2 int,
CK3 int,
CK4 int,
Dump text,
PRIMARY KEY ((PK1,PK2,CK3),CK4)
);
我想查询(PK1=1 and Pk2 =2 and Ck3 =5 and CK4 in (4,5)) or (PK1=2 and Pk2 =2 and Ck3 =5 and CK4 in (4,5))
的转储值。
我无法使用或有条件,有人建议我如何在 CQL
答案 0 :(得分:1)
不支持OR
运算符:您要执行的操作是命中2个分区,因此必须通过两个不同的查询来完成。
Query 1: (PK1=1 and Pk2 =2 and Ck3 =5 and CK4 in (4,5))
Query 2: (PK1=2 and Pk2 =2 and Ck3 =5 and CK4 in (4,5))
您可以自己实现“短路”:首先执行您希望有更大可能性来检索结果的查询 - 如果您得到结果,请停止您的过程,如果不执行第二次查询。