2014-10-10 88 views
1

我想学习cassandra。我正在使用Windows社区版(2.0)Cassandra - CQL OR Operator

我的表架构是:

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

回答

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)) 

您可以通过自己实现“短路”:首先,你希望有更大的可能性检索结果中查询执行 - 如果你有结果停止你的过程中,如果不执行第二查询。