CQL: сравнение значений двух столбцов

У меня есть TABLE вот так:

    id   | expected | current
   ------+----------+--------
     123 |    25    |   15
     234 |    26    |   26
     345 |    37    |   37

Теперь я хочу выбрать все ids, где current равно expected. В SQL я бы сделал что-то вроде этого:

SELECT id FROM myTable WHERE current = expected;  

Но в CQL это кажется недействительным. Мой cqlsh возвращает это:

no viable alternative at input 'current'

Существует ли допустимый запрос CQL для достижения этой цели?

Отредактировано Согласно CQL-Docs, это должно работать, но это не так... Вот что говорится в документе:

<selectWhereClause> ::= <relation> ( "AND" <relation> )*
                      | <term> "IN" "(" <term> ( "," <term> )* ")"

<relation> ::= <term> <relationOperator> <term>

<relationOperator> ::= "=" | "<" | ">" | "<=" | ">="

<term> ::= "KEY"
         | <identifier>
         | <stringLiteral>
         | <integer>
         | <float>
         | <uuid>
         ;

person matthisb    schedule 31.03.2014    source источник


Ответы (1)


Я использовал неправильные документы. Я использую CQL3 и читаю документы для CQL2. Правильный документ говорит:

<where-clause> ::= <relation> ( AND <relation> )*

<relation> ::= <identifier> <op> <term>
             | '(' <identifier> (',' <identifier>)* ')' <op> '(' <term> (',' <term>)* ')'
             | <identifier> IN '(' ( <term> ( ',' <term>)* )? ')'
             | TOKEN '(' <identifier> ( ',' <identifer>)* ')' <op> <term>

Так что это неверный запрос.

person matthisb    schedule 01.04.2014