N1QL 将许多子行连接成单个字符串
N1QL Concatenate many children rows into single string
考虑在 Couchbase 中我有一个人员数据库,其中包含 3 个文档:
Person A
Child AA
Grand AAA
Grand AAB
Child AB
Grand ABA
Grand ABB
Person B
Person C
Child CA
Child CB
Grand CBA
有没有一种简单的方法可以使用 N1QL 将其转换为以下结果?
我正在尝试将每个人及其孙子显示为字符串?
Person A, Grand: "AAA, AAB, ABA, ABB"
Person B, Grand: ""
Person C, Grand: "CBA"
您可以执行以下操作:
SELECT p.name AS p, ENCODE_JSON(ARRAY_AGG(g.name)) AS g
FROM person AS p LEFT OUTER UNNEST p.child AS c LEFT OUTER UNNEST c.grand AS g
GROUP BY p;
考虑在 Couchbase 中我有一个人员数据库,其中包含 3 个文档:
Person A
Child AA
Grand AAA
Grand AAB
Child AB
Grand ABA
Grand ABB
Person B
Person C
Child CA
Child CB
Grand CBA
有没有一种简单的方法可以使用 N1QL 将其转换为以下结果? 我正在尝试将每个人及其孙子显示为字符串?
Person A, Grand: "AAA, AAB, ABA, ABB"
Person B, Grand: ""
Person C, Grand: "CBA"
您可以执行以下操作:
SELECT p.name AS p, ENCODE_JSON(ARRAY_AGG(g.name)) AS g
FROM person AS p LEFT OUTER UNNEST p.child AS c LEFT OUTER UNNEST c.grand AS g
GROUP BY p;