我不能在查询中使用let或for子句,它总是说它是保留关键字

问题描述 投票:0回答:1

为什么我不能在查询中使用let或for子句,它总是说它是保留关键字,以下是我的查询:

对于“FOR”子句:

`SELECT properties.hotelId, MIN(ARRAY_AVG(rate.base_rate) FOR rate IN ARRAY_AGG(inventory.property_rates) END) AS min_avg_base_rate
FROM global properties
JOIN global inventory ON properties.hotelId = inventory.hotelId
WHERE inventory.date BETWEEN "2024-01-01" AND "2024-01-05"
GROUP BY properties.hotelId;`

对于“LET”子句:

SELECT properties.hotelId, MIN(avg_base_rate) AS min_avg_base_rate
FROM global properties
JOIN global inventory ON properties.hotelId = inventory.hotelId
UNNEST inventory.property_rates AS rate
WHERE inventory.date BETWEEN "2024-01-01" AND "2024-01-05"
GROUP BY properties.hotelId
LET avg_rates = ARRAY_AGG(rate.base_rate) FOR rate IN inventory.property_rates END
SELECT properties.hotelId, MIN(ARRAY_AVG(rate) FOR rate IN avg_rates END) AS min_avg_base_rate;```
couchbase sql++
1个回答
0
投票
SELECT properties.hotelId, 
       MIN(ARRAY_AVG(ARRAY rate.base_rate FOR rate IN inventory.property_rates END)) AS min_avg_base_rate
FROM global AS properties
JOIN global AS inventory ON properties.hotelId = inventory.hotelId
WHERE inventory.date BETWEEN "2024-01-01" AND "2024-01-05"
GROUP BY properties.hotelId;

https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/collectionops.html#range-xform

© www.soinside.com 2019 - 2024. All rights reserved.