【问题标题】:Cassandra select query using IN command in map fieldCassandra 在地图字段中使用 IN 命令选择查询
【发布时间】:2016-12-10 13:23:45
【问题描述】:

我创建了一个表“测试”,并使用以下命令使用 CQL 插入了一些值。

create table testt(val map<text,text>, id text primary key); insert into testt (val,id) values ({'key':'1'},'1');

当我使用以下查询检索时,它可以工作

select * from testt where val['key']='1' allow filtering;

我需要检索多个值,这些值都包含 val[ 钥匙']。使用下面的命令抛出错误。

select * from testt where val['key'] IN( '1' ) allow filtering;

SyntaxException: &lt;ErrorMessage code=2000 [Syntax error in CQL query] message="line 1:37 no viable alternative at input 'IN' (... testt where val['key'] [IN]...)"&gt;

是否有任何其他方式或方法可以获得所需的输出?

【问题讨论】:

  • 你好。有什么需要?对馆藏的搜索非常复杂。您可能可以使用其他模型更轻松地搜索所需值。例如使用搜索表。

标签: cassandra cassandra-2.0 cql cql3 cqlsh


【解决方案1】:

在 Cassandra 中检索多个键的值的唯一方法是执行多个查询。您可以调整主键以适应通过单个查询获取所需的值。

【讨论】:

    猜你喜欢
    • 2012-05-30
    • 1970-01-01
    • 2016-05-18
    • 1970-01-01
    • 2022-01-17
    • 2015-05-22
    • 2011-09-03
    • 1970-01-01
    • 2017-06-08
    相关资源
    最近更新 更多