Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql n1ql-查询两个不同查询的内部联接_Sql_N1ql - Fatal编程技术网

Sql 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

我是N1QL新手,我试图为两个不同的查询查询一个内部联接,但我得到以下异常。(值得一提的是,每个查询都是单独测试的,而且效果很好)

我运行的查询如下所示:

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中是否可以这样做

你知道我怎样才能让它正常工作吗?
提前感谢

当前,联接的右侧术语必须是表/桶。您可以重写查询以在联接后执行右侧聚合

目前,右侧必须是桌子/桶。您可以在加入后执行右侧聚合。谢谢!!!我们将努力做到这一点。