Sql n1ql-查询两个不同查询的内部联接
我是N1QL新手,我试图为两个不同的查询查询一个内部联接,但我得到以下异常。(值得一提的是,每个查询都是单独测试的,而且效果很好) 我运行的查询如下所示:Sql n1ql-查询两个不同查询的内部联接,sql,n1ql,Sql,N1ql,我是N1QL新手,我试图为两个不同的查询查询一个内部联接,但我得到以下异常。(值得一提的是,每个查询都是单独测试的,而且效果很好) 我运行的查询如下所示: SELECT * FROM( (SELECT payload.masterAdId , SUM( CASE WHEN payload.active = true THEN 1 ELSE 0 END) AS numOfActiveversions, SUM( CAS
SELECT *
FROM(
(SELECT payload.masterAdId ,
SUM(
CASE
WHEN payload.active = true
THEN 1
ELSE 0
END) AS numOfActiveversions,
SUM(
CASE
WHEN payload.active = false
THEN 1
ELSE 0
END) AS numOfDisabledVersions,
COUNT(1)AS totalVersions
FROM mvbucket
WHERE _identifier = "adsmartversion"
AND payload.accountId= 1073741826
GROUP BY payload.masterAdId limit 1
)A
JOIN
(SELECT payload.id AS masterAdId ,
payload.name AS masterAdName,
payload.adAssignmentData.campaignId,
payload.adAssignmentData.campaignName,
array_count(payload.adSmartVersionSchema.smartElements[].svKey) AS numberofdynamicelements
FROM DEFAULT
WHERE payload.massVersioning = true
AND payload.adAssignmentData.campaignId IS NOT NULL
GROUP BY payload.id,
payload.name,
payload.adAssignmentData.campaignId,
payload.adAssignmentData.campaignName,
array_count((array_star((((default.payload).adSmartVersionSchema).smartElements)).svKey))
)B
ON keys A.payload.masterAdId);
我得到的例外是:
SELECT *
FROM(
(SELECT payload.masterAdId ,
SUM(
CASE
WHEN payload.active = true
THEN 1
ELSE 0
END) AS numOfActiveversions,
SUM(
CASE
WHEN payload.active = false
THEN 1
ELSE 0
END) AS numOfDisabledVersions,
COUNT(1)AS totalVersions
FROM mvbucket
WHERE _identifier = "adsmartversion"
AND payload.accountId= 1073741826
GROUP BY payload.masterAdId limit 1
)A
JOIN
(SELECT payload.id AS masterAdId ,
payload.name AS masterAdName,
payload.adAssignmentData.campaignId,
payload.adAssignmentData.campaignName,
array_count(payload.adSmartVersionSchema.smartElements[].svKey) AS numberofdynamicelements
FROM DEFAULT
WHERE payload.massVersioning = true
AND payload.adAssignmentData.campaignId IS NOT NULL
GROUP BY payload.id,
payload.name,
payload.adAssignmentData.campaignId,
payload.adAssignmentData.campaignName,
array_count((array_star((((default.payload).adSmartVersionSchema).smartElements)).svKey))
)B
ON keys A.payload.masterAdId);
因此,它似乎与连接结构有关。在N1QL中是否可以这样做
你知道我怎样才能让它正常工作吗?
提前感谢当前,联接的右侧术语必须是表/桶。您可以重写查询以在联接后执行右侧聚合 目前,右侧必须是桌子/桶。您可以在加入后执行右侧聚合。谢谢!!!我们将努力做到这一点。