Couchbase 中 WHERE 子句中的条件
Conditions in WHERE clause in Couchbase
我是 couchbase 的新手。无法在网上找到我想要实现的目标。
我正在尝试使用特定文档类型的条件。我的情况是这样的 - 如果文档类型是 'type1' 然后在该文档和文档类型中找到特定的 ID 'type2' 然后只在该文档类型中找到另一个 ID。我的查询如下 -
SELECT DISTINCT appDetail.id, appDetail.group_id_record
FROM default appDetail
LEFT JOIN default users ON KEYS appDetail.id
LEFT JOIN default groups ON KEYS ARRAY 'app_detail::' || TO_STRING(c) FOR c
IN appDetail.group_id_record END
WHERE (appDetail.type = 'user' OR appDetail.type = 'app_detail')
我假设我在 JOIN 中需要附加条件?
SELECT DISTINCT CASE WHEN appDetail.type = 'user' THEN appDetail.id WHEN appDetail.type = 'app_detail' THEN appDetail.detailId END, appDetail.group_id_record
FROM default appDetail
LEFT JOIN default users ON KEYS appDetail.id
LEFT JOIN default groups ON KEYS ARRAY 'app_detail::' || TO_STRING(c) FOR c
IN appDetail.group_id_record END
WHERE (appDetail.type = 'user' OR appDetail.type = 'app_detail')
请小心查询中的 DISTINCT,因为尽管类型不同,但您将相同的 ID 分组(我认为您不想要此结果)
我是 couchbase 的新手。无法在网上找到我想要实现的目标。
我正在尝试使用特定文档类型的条件。我的情况是这样的 - 如果文档类型是 'type1' 然后在该文档和文档类型中找到特定的 ID 'type2' 然后只在该文档类型中找到另一个 ID。我的查询如下 -
SELECT DISTINCT appDetail.id, appDetail.group_id_record
FROM default appDetail
LEFT JOIN default users ON KEYS appDetail.id
LEFT JOIN default groups ON KEYS ARRAY 'app_detail::' || TO_STRING(c) FOR c
IN appDetail.group_id_record END
WHERE (appDetail.type = 'user' OR appDetail.type = 'app_detail')
我假设我在 JOIN 中需要附加条件?
SELECT DISTINCT CASE WHEN appDetail.type = 'user' THEN appDetail.id WHEN appDetail.type = 'app_detail' THEN appDetail.detailId END, appDetail.group_id_record
FROM default appDetail
LEFT JOIN default users ON KEYS appDetail.id
LEFT JOIN default groups ON KEYS ARRAY 'app_detail::' || TO_STRING(c) FOR c
IN appDetail.group_id_record END
WHERE (appDetail.type = 'user' OR appDetail.type = 'app_detail')
请小心查询中的 DISTINCT,因为尽管类型不同,但您将相同的 ID 分组(我认为您不想要此结果)