首页 > 解决方案 > 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

标签: couchbasen1ql

解决方案


 FROM `log` USE KEYS `log.`ebook_id 

反勾号位置不正确,它需要在点之前结束,如下所示

FROM `log` USE KEYS `log`.ebook_id 

JOIN 左侧的 USE KEYS 需要是 CONSTANT 并且 JOIN 的右侧不能使用 USE KEYS 并且它必须是 ON KEYS 并带有来自左侧存储桶的表达式

ANSI JOINS 仅在 CB 5.50 中受支持

Pre CB 5.50 支持 LOOKUP 和索引连接


推荐阅读