Sql Can';t在GROUPBY子句中使用别名

Sql Can';t在GROUPBY子句中使用别名,sql,tsql,Sql,Tsql,我将此连接到大型查询中 LEFT JOIN --RIVA MICRO (SELECT TT.DATAAREAID, TT.VOUCHER,MA.MAINACCOUNTID AS AD, SUM(TT.TAXBASEAMOUNT) AS TAXBASEAMOUNT, SUM(TT.TAXAMOUNT) AS TAXAMOUNT FROM TAXTRANS TT INNER MERGE JOIN

我将此连接到大型查询中

LEFT JOIN --RIVA MICRO
    (SELECT 
         TT.DATAAREAID, TT.VOUCHER,MA.MAINACCOUNTID AS AD,
         SUM(TT.TAXBASEAMOUNT) AS TAXBASEAMOUNT,
         SUM(TT.TAXAMOUNT) AS TAXAMOUNT 
     FROM 
         TAXTRANS TT
     INNER MERGE JOIN 
         TAXTRANSDETAIL_BE MA ON TT.RECID = MA.RECID
     WHERE 
         TT.TRANSDATE <= @FECHA AND ("+@Codigo_RIVA+")
     GROUP BY 
         TT.DATAAREAID, TT.VOUCHER, MA.MAINACCOUNTID) AS RIVA2 ON Asiento.Asiento = RIVA2.VOUCHER 
                                                               AND Asiento.Cuenta = RIVA2.AD
                                                               AND Asiento.Empresa = RIVA2.DATAAREAID
但现在的问题是按子句分组,我将alias
作为RIVA2

关键字“AS”附近的语法不正确

有人知道为什么会这样?。关于

我想你打算:

LEFT JOIN 
(SELECT TT.DATAAREAID, TT.VOUCHER, TT.MAINACCOUNTID,
        SUM(TT.TAXBASEAMOUNT) AS TAXBASEAMOUNT, SUM(TT.TAXAMOUNT)  
 FROM ##TTM TT 
 WHERE TT.TAXCODE IN ('RIVA11DPT', 'RIVA16DPT', 'RIVA16T')
 GROUP BY TT.DATAAREAID, TT.VOUCHER, TT.MAINACCOUNTID
) RIVA2   
ON Asiento.Asiento = RIVA2.VOUCHER AND
   Asiento.Cuenta = RIVA2.MAINACCOUNTID AND
   Asiento.Empresa = RIVA2.DATAAREAID
注:

  • 您只需按
    分组依据
    中的未聚合列进行聚合
  • 众所周知,在与
    SELECT
    关联的大多数其他子句中,不能使用
    SELECT
    中定义的列别名
  • 中的
    子句的集合简单得多
  • 你应该给出一个名字

我之前检查过该链接,但这不是问题所在,我已经更新了我的问题,以便进一步澄清@adamcoull您可以发布整个查询吗?仅使用查询的这一部分,很难判断您为什么会遇到此问题。您更改了什么,我可以看到您将我的where use封装在中,但您还更改了什么?@Pepe。。查看
分组依据
LEFT JOIN 
(SELECT TT.DATAAREAID, TT.VOUCHER, TT.MAINACCOUNTID,
        SUM(TT.TAXBASEAMOUNT) AS TAXBASEAMOUNT, SUM(TT.TAXAMOUNT)  
 FROM ##TTM TT 
 WHERE TT.TAXCODE IN ('RIVA11DPT', 'RIVA16DPT', 'RIVA16T')
 GROUP BY TT.DATAAREAID, TT.VOUCHER, TT.MAINACCOUNTID
) RIVA2   
ON Asiento.Asiento = RIVA2.VOUCHER AND
   Asiento.Cuenta = RIVA2.MAINACCOUNTID AND
   Asiento.Empresa = RIVA2.DATAAREAID