Couchbase N1QL连接查询语法错误

时间:2018-06-08 07:21:42

标签: couchbase n1ql

我想通过以下查询加入两个桶。但它给我一个像下面这样的错误。我错过了什么?

错误:

syntax error - at ebook_id

查询:

 SELECT ebook_id, COUNT(*) as count 
        FROM `log` USE KEYS `log.`ebook_id 
        JOIN `product` USE KEYS product.book_id
        WHERE meta(`log`).id LIKE 'ebook_page_request%' AND `log`.date = CLOCK_LOCAL('1111-11-11') GROUP BY log.ebook_id

2 个答案:

答案 0 :(得分:2)

 FROM `log` USE KEYS `log.`ebook_id 

后退刻度位置不正确需要在点之前结束如下

FROM `log` USE KEYS `log`.ebook_id 

JOIN LEFT侧的USE KEYS需要为CONSTANT,JOIN的右侧不能使用USE KEYS,它必须是ON KEYS,表达式是从左侧铲斗

ANSI JOINS are supported only in CB 5.50

Pre CB 5.50 supports LOOKUP and Index Joins

答案 1 :(得分:0)

实际上,通常根本不需要使用反引号。只需使用存储桶或字段的纯名称即可。

反引号是转义符,用于允许您引用存储区和字段,这些存储区和字段包含默认情况下在N1QL标识符中不允许使用的字符。这些特殊字符中最引人注目的是-(减号),不幸的是,它在Couchbase的示例数据集(例如啤酒样品)中使用。

默认情况下,请勿使用``倒勾''。