SELECT Specific Value from map

纵饮孤独 提交于 2019-11-28 01:48:46
jbellis

Collections are small groups of data that you fetch all at once.

If you want to access tuples at a finer level, and still be able to ask "what are all the pairs of data for a given key," you should use a table like this:

CREATE TABLE details (
  key TEXT,
  detail_key text,
  detail_value text,
  PRIMARY KEY (key, detail_key)
);

This will allow SELECT * FROM details WHERE key = ? as well as SELECT * FROM detail WHERE key = ? AND detail_key = ?.

Basically this functionality is not yet supported by cassandra.

See this cql3 collections

You can use user-define type instead of map type. Try to define table in this way:

CREATE TYPE detailtype (
    col1 TEXT,
    col2 TEXT
);

CREATE TABLE details (
   key TEXT,
   detail frozen<detailtype>,
   PRIMARY KEY (KEY)
);

Then you can query by this way:

select detail.col1 where key='123';
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!