如何按汇总汇总金额

时间:2019-12-13 08:29:49

标签: mysql sql group-by rollup

  • 我需要将G和T组的金额相加,但出现此错误:

“消息8120,第16级,状态1,第5行 在选择列表中,列“ TEMP_BFTOPLAM.GIDERCESIDI_KODU”无效,因为该列既不包含在聚合函数中,也不包含在GROUP BY子句中。 消息8120,第16级,状态1,第5行 选择列表中的“ TEMP_BFTOPLAM.GCADI”列无效,因为它既不包含在聚合函数中也不在GROUP BY子句中。 “

  • 当我在汇总中写入C列时,它会运行,但我应该在不使用C的情况下执行。
SELECT  G,T,C
        ,T.AMOUNT
       ,FORMAT(SUM(ISNULL(CAST(ROUND([BUTCETUTAR],0) AS FLOAT),0)),'#,#') AS '2019 November B'
       ,FORMAT(SUM(ISNULL(CAST(ROUND([FIILITUTAR],0) AS FLOAT),0)),'#,#') AS '2019 November F'
       ,FORMAT(SUM(ISNULL(CAST(ROUND([FARK],0) AS FLOAT),0)),'#,#') AS '2019 November B-F'
       ,FORMAT(SUM(ISNULL(CAST(ROUND([BUTCETUTARTOPLAM],0) AS FLOAT),0)),'#,#')  AS '2019 November B Küm.'
       ,FORMAT(SUM(ISNULL(CAST(ROUND([FIILITUTARTOPLAM],0) AS FLOAT),0)),'#,#')  '2019 November F Küm.'
       ,FORMAT(SUM(ISNULL(CAST(ROUND([TOPLAMFARK],0) AS FLOAT),0)),'#,#')  AS '2019 November B-F Küm.'
       ,FORMAT(SUM(ISNULL(CAST(ROUND([BUTCEYILLIK],0) AS FLOAT),0)),'#,#')  AS '2019B' 

       FROM   TEMP_BFTOPLAM T
RIGHT JOIN  (
SELECT GYGD.GIDERYERIGRUBU_KODU,GYGD.GIDERYERI_KODU,GYG.ADI  GIDERYERIGRUBU_ADI
FROM [dbo].[UI_OZLGIDERYERIGRUBUDETAY] GYGD, [dbo].[UI_OZLGIDERYERIGRUBU] GYG
WHERE  GYG.KODU=GYGD.GIDERYERIGRUBU_KODU ) G on T.GIDERYERI_KODU= G.GIDERYERI_KODU 
WHERE (BUTCETUTAR<>0 OR FIILITUTAR<>0 OR BUTCETUTARTOPLAM<>0 OR  FIILITUTARTOPLAM <>0 )
GROUP BY 
ROLLUP(
G,T
   )

0 个答案:

没有答案