Sql 内部查询结果的分组依据不起作用
我想对内部查询的结果按ACCOUNTNO分组Sql 内部查询结果的分组依据不起作用,sql,sql-server,Sql,Sql Server,我想对内部查询的结果按ACCOUNTNO分组 SELECT * FROM (SELECT O.CUSTADDRESSID, O.ACCOUNTNO, D.ORGANISATIONNAME FROM db.sc.TP_CUSTOMER_ADDRESSES O FULL OUTER JOIN db.sc.TP_CUSTOMER_BUSINESS D ON O.ACCOUNTNO = D.ACCOUNTNO ) a GROUP BY ACC
SELECT *
FROM (SELECT O.CUSTADDRESSID, O.ACCOUNTNO, D.ORGANISATIONNAME
FROM db.sc.TP_CUSTOMER_ADDRESSES O FULL OUTER JOIN
db.sc.TP_CUSTOMER_BUSINESS D
ON O.ACCOUNTNO = D.ACCOUNTNO
) a
GROUP BY ACCOUNTNO
ORDER BY ACCOUNTNO;
但我得到了这个错误:
Msg 8120,第16级,状态1,第1行列“a.CUSTADDRESSID”在选择列表中无效,因为它未包含在聚合函数或GROUP BY子句中 我需要帮助。谢谢。您需要删除“GROUP BY ACCOUNTNO”-查询如下所示:
SELECT * FROM (SELECT
O.CUSTADDRESSID, O.ACCOUNTNO,
D.ORGANISATIONNAME
FROM
db.sc.TP_CUSTOMER_ADDRESSES O FULL OUTER JOIN db.sc.TP_CUSTOMER_BUSINESS D ON O.ACCOUNTNO = D.ACCOUNTNO) a
ORDER BY ACCOUNTNO
SELECT * FROM (SELECT
O.CUSTADDRESSID, O.ACCOUNTNO,
D.ORGANISATIONNAME
FROM
db.sc.TP_CUSTOMER_ADDRESSES O FULL OUTER JOIN db.sc.TP_CUSTOMER_BUSINESS D ON O.ACCOUNTNO = D.ACCOUNTNO) a
GROUP BY ACCOUNTNO, CUSTADDRESSID, ORGANISATIONNAME
ORDER BY ACCOUNTNO
或列出group by中的所有列-查询如下所示:
SELECT * FROM (SELECT
O.CUSTADDRESSID, O.ACCOUNTNO,
D.ORGANISATIONNAME
FROM
db.sc.TP_CUSTOMER_ADDRESSES O FULL OUTER JOIN db.sc.TP_CUSTOMER_BUSINESS D ON O.ACCOUNTNO = D.ACCOUNTNO) a
ORDER BY ACCOUNTNO
SELECT * FROM (SELECT
O.CUSTADDRESSID, O.ACCOUNTNO,
D.ORGANISATIONNAME
FROM
db.sc.TP_CUSTOMER_ADDRESSES O FULL OUTER JOIN db.sc.TP_CUSTOMER_BUSINESS D ON O.ACCOUNTNO = D.ACCOUNTNO) a
GROUP BY ACCOUNTNO, CUSTADDRESSID, ORGANISATIONNAME
ORDER BY ACCOUNTNO
您需要删除“GROUP BY ACCOUNTNO”-查询如下所示:
SELECT * FROM (SELECT
O.CUSTADDRESSID, O.ACCOUNTNO,
D.ORGANISATIONNAME
FROM
db.sc.TP_CUSTOMER_ADDRESSES O FULL OUTER JOIN db.sc.TP_CUSTOMER_BUSINESS D ON O.ACCOUNTNO = D.ACCOUNTNO) a
ORDER BY ACCOUNTNO
SELECT * FROM (SELECT
O.CUSTADDRESSID, O.ACCOUNTNO,
D.ORGANISATIONNAME
FROM
db.sc.TP_CUSTOMER_ADDRESSES O FULL OUTER JOIN db.sc.TP_CUSTOMER_BUSINESS D ON O.ACCOUNTNO = D.ACCOUNTNO) a
GROUP BY ACCOUNTNO, CUSTADDRESSID, ORGANISATIONNAME
ORDER BY ACCOUNTNO
或列出group by中的所有列-查询如下所示:
SELECT * FROM (SELECT
O.CUSTADDRESSID, O.ACCOUNTNO,
D.ORGANISATIONNAME
FROM
db.sc.TP_CUSTOMER_ADDRESSES O FULL OUTER JOIN db.sc.TP_CUSTOMER_BUSINESS D ON O.ACCOUNTNO = D.ACCOUNTNO) a
ORDER BY ACCOUNTNO
SELECT * FROM (SELECT
O.CUSTADDRESSID, O.ACCOUNTNO,
D.ORGANISATIONNAME
FROM
db.sc.TP_CUSTOMER_ADDRESSES O FULL OUTER JOIN db.sc.TP_CUSTOMER_BUSINESS D ON O.ACCOUNTNO = D.ACCOUNTNO) a
GROUP BY ACCOUNTNO, CUSTADDRESSID, ORGANISATIONNAME
ORDER BY ACCOUNTNO
group by和select不相同,下面是一个示例:
SELECT ACCOUNTNO, CUSTADDRESSID, ORGANISATIONNAME FROM (
SELECT
O.CUSTADDRESSID, O.ACCOUNTNO,
D.ORGANISATIONNAME
FROM
db.sc.TP_CUSTOMER_ADDRESSES O FULL OUTER JOIN db.sc.TP_CUSTOMER_BUSINESS D ON O.ACCOUNTNO = D.ACCOUNTNO
) a
GROUP BY ACCOUNTNO, CUSTADDRESSID, ORGANISATIONNAME ORDER BY ACCOUNTNO
group by和select不相同,下面是一个示例:
SELECT ACCOUNTNO, CUSTADDRESSID, ORGANISATIONNAME FROM (
SELECT
O.CUSTADDRESSID, O.ACCOUNTNO,
D.ORGANISATIONNAME
FROM
db.sc.TP_CUSTOMER_ADDRESSES O FULL OUTER JOIN db.sc.TP_CUSTOMER_BUSINESS D ON O.ACCOUNTNO = D.ACCOUNTNO
) a
GROUP BY ACCOUNTNO, CUSTADDRESSID, ORGANISATIONNAME ORDER BY ACCOUNTNO
编辑问题并提供示例数据和所需结果。编辑问题并提供示例数据和所需结果。