SQL Server,将CASE语句聚合为一行

问题描述 投票:0回答:1

我需要在我的选择中汇总CASE语句,以便它们计算为一行。或我没有-但必须这样做,但此后它将制作出更好的电子表格

我的查询是这样的:

SELECT
    me.gardsnr
    ,me.bruksnr
    ,me.festenr
    ,me.seksjonsnr
    ,COUNT(Case when be.bruksenhetstypeKode = 'A' THEN (be.bruksenhetstypeKode)  END) AS 'A'
    ,COUNT(Case when be.bruksenhetstypeKode = 'B' THEN (be.bruksenhetstypeKode) END) AS 'B'
    ,COUNT(Case when be.bruksenhetstypeKode = 'F' THEN (be.bruksenhetstypeKode) END) AS 'F'
    ,COUNT(Case when be.bruksenhetstypeKode = 'I' THEN (be.bruksenhetstypeKode) END) AS 'I'
    ,COUNT(Case when be.bruksenhetstypeKode = 'U' THEN (be.bruksenhetstypeKode) END) AS 'U'
FROM 
    Bruksenhet be
INNER JOIN 
    Matrikkelenhet me ON be.matrikkelenhetID = me.id
GROUP BY
    me.gardsnr
    ,me.bruksnr
    ,me.festenr
    ,me.seksjonsnr
    ,be.bruksenhetstypeKode

这将返回以下结果:

example

像第1行和第2行一样-我想将这两行合并为一行,即对于gardsnr = 1,bruksnr = 4,festenr = 0和seksjonsnr = 0仅为一行-在“ A”列和3列中有5在“ U”列中]

希望说得通吗?

我需要在我的选择中汇总CASE语句,以便它们计算为一行。还是我没有,但是以后会做得更好。我的查询是这样的:...

sql sql-server ssms
1个回答
0
投票

be.bruksenhetstypeKode中不需要GROUP BY。删除它:

© www.soinside.com 2019 - 2024. All rights reserved.