Sql server 2008 SQL Server中具有计数和分组的列总和

Sql server 2008 SQL Server中具有计数和分组的列总和,sql-server-2008,tsql,Sql Server 2008,Tsql,我不太确定如何解决这个问题,但基本上我有一个运行良好的查询。我要做的是分别统计6列调查问题的结果。然后我把它们加在一起。现在我必须进行3组计数,因为每个结果都有效,红色、琥珀色和绿色,用户只需要一行。也就是说红色、琥珀色和绿色的总数。但是,用户现在希望得到一个结果,该结果返回的信息与每个站点相同 那么,有没有一种简单的方法可以让我得到每一列或问卷类别的数量,把它们汇总起来,这样我就可以得到红色、琥珀色和绿色的总数,然后按此对每个站点进行分组?下面是SQL,但它只适用于一个站点 Select

我不太确定如何解决这个问题,但基本上我有一个运行良好的查询。我要做的是分别统计6列调查问题的结果。然后我把它们加在一起。现在我必须进行3组计数,因为每个结果都有效,红色、琥珀色和绿色,用户只需要一行。也就是说红色、琥珀色和绿色的总数。但是,用户现在希望得到一个结果,该结果返回的信息与每个站点相同

那么,有没有一种简单的方法可以让我得到每一列或问卷类别的数量,把它们汇总起来,这样我就可以得到红色、琥珀色和绿色的总数,然后按此对每个站点进行分组?下面是SQL,但它只适用于一个站点

   Select production_site, SUM(Green.[Bagging]+Green.[Measurable]+
   Green.[Appearance]+Green.[Aroma]+Green.[Flavour]+Green.[Texture]) as Target,
   SUM(Amber.[Bagging]+Amber.[Measurable]+Amber.[Appearance]+Amber.[Aroma]+
   Amber.[Flavour]+Amber.[Texture]) as Action, SUM(Red.[Bagging]+Red.[Measurable]+
   Red.[Appearance]+Red.[Aroma]+Red.[Flavour]+Red.[Texture]) as Fail
   FROM (SELECT (SELECT COUNT(Grocery_Packaging_And_Coding)
             FROM t_Pqe_Grocery
             WHERE Grocery_Packaging_And_Coding = 'Target'
             AND Production_Site = 'Bradford'
             ) As Bagging,
             (SELECT COUNT(Grocery_Measurable)
              FROM t_Pqe_Grocery
              WHERE Grocery_Measurable = 'Target'
              AND Production_Site = 'Bradford'
              ) As Measurable,
             (SELECT COUNT(Grocery_Appearance)
              FROM t_Pqe_Grocery
              WHERE Grocery_Appearance = 'Target'
              AND Production_Site = 'Bradford'
              ) As Appearance,
             (SELECT COUNT(Grocery_Aroma)
              FROM t_Pqe_Grocery
              WHERE Grocery_Aroma = 'Target'
              AND Production_Site = 'Bradford'
              ) As Aroma,
             (SELECT COUNT(Grocery_Flavour)
              FROM t_Pqe_Grocery
              WHERE Grocery_Flavour = 'Target'
             AND Production_Site = 'Bradford'
             ) As Flavour,
            (SELECT COUNT(Grocery_Texture)
             FROM t_Pqe_Grocery
             WHERE Grocery_Texture = 'Target'
            AND Production_Site = 'Bradford'
            ) As Texture) AS Green,
    (SELECT (SELECT COUNT(Grocery_Packaging_And_Coding)
             FROM t_Pqe_Grocery
             WHERE Grocery_Packaging_And_Coding = 'Action'
             AND Production_Site = 'Bradford'
             ) As Bagging,
            (SELECT COUNT(Grocery_Measurable)
             FROM t_Pqe_Grocery
             WHERE Grocery_Measurable = 'Action'
             AND Production_Site = 'Bradford'
             ) As Measurable,
            (SELECT COUNT(Grocery_Appearance)
             FROM t_Pqe_Grocery
             WHERE Grocery_Appearance = 'Action'
             AND Production_Site = 'Bradford'
            ) As Appearance,
           (SELECT COUNT(Grocery_Aroma)
            FROM t_Pqe_Grocery
            WHERE Grocery_Aroma = 'Action'
            AND Production_Site = 'Bradford'
            ) As Aroma,
           (SELECT COUNT(Grocery_Flavour)
            FROM t_Pqe_Grocery
            WHERE Grocery_Flavour = 'Action'
            AND Production_Site = 'Bradford'
           ) As Flavour,
           (SELECT COUNT(Grocery_Texture)
            FROM t_Pqe_Grocery
            WHERE Grocery_Texture = 'Action'
            AND Production_Site = 'Bradford'
           ) As Texture) AS Amber,
    (SELECT (SELECT COUNT(Grocery_Packaging_And_Coding)
           FROM t_Pqe_Grocery
           WHERE Grocery_Packaging_And_Coding = 'Fail'
           AND Production_Site = 'Bradford'
          ) As Bagging,
          (SELECT COUNT(Grocery_Measurable)
           FROM t_Pqe_Grocery
           WHERE Grocery_Measurable = 'Fail'
           AND Production_Site = 'Bradford'
          ) As Measurable,
          (SELECT COUNT(Grocery_Appearance)
           FROM t_Pqe_Grocery
           WHERE Grocery_Appearance = 'Fail'
           AND Production_Site = 'Bradford'
          ) As Appearance,
          (SELECT COUNT(Grocery_Aroma)
           FROM t_Pqe_Grocery
           WHERE Grocery_Aroma = 'Fail'
           AND Production_Site = 'Bradford'
          ) As Aroma,
          (SELECT COUNT(Grocery_Flavour)
           FROM t_Pqe_Grocery
           WHERE Grocery_Flavour = 'Fail'
           AND Production_Site = 'Bradford'
          ) As Flavour,
          (SELECT COUNT(Grocery_Texture)
           FROM t_Pqe_Grocery
           WHERE Grocery_Texture = 'Fail'
           AND Production_Site = 'Bradford'
          ) As Texture) AS Red,
    t_Pqe_Grocery
    Where Production_Site = 'Bradford'
    Group By production_site

请编辑您的问题,以包括您的数据架构(表中的列类型)、一些示例数据、您希望从该数据中获得的输出,以及您自己迄今为止尝试过但不起作用的内容。谢谢。你试过了吗?你能创建一个工作数据模型,然后编辑你的帖子,显示你期望的结果吗?