我已经在CQL中创建了下表:
CREATE TABLE new_table (
idRestaurant INT,
restaurant map<text,varchar>,
InspectionDate date,
ViolationCode VARCHAR,
ViolationDescription VARCHAR,
CriticalFlag VARCHAR, Score INT, GRADE VARCHAR,
PRIMARY KEY (InspectionDate )) ;
然后,我通过jar
插入了数据,得到的restaurant column
值类似于json/dictionary
select restarutant from new_table;
类似于以下结果:
在用于选择json列的键值的常规SQL中,应该为select json_col.key from table
,但这不适用于CQL,如何选择JSON的键值作为列或WHERE条件过滤?
非常感谢您
答案 0 :(得分:0)
代替使用map,我最好将表的架构更改为以下形式:
CREATE TABLE new_table (
idRestaurant INT,
restaurant_key text,
restaurant_value text,
InspectionDate date,
ViolationCode VARCHAR,
ViolationDescription VARCHAR,
CriticalFlag VARCHAR,
Score INT,
GRADE VARCHAR,
PRIMARY KEY (InspectionDate, restaurant_key )) ;
然后,您可以根据restaurant_key
选择带有查询的任一行:
select * from new_table where idRestaurant = ? and restaurant_key = ?
或通过以下方式选择餐厅的所有内容:
select * from new_table where idRestaurant = ?