SQL Server Grouped外部查询与评估SubQuery

时间:2015-01-21 03:26:00

标签: sql-server subquery

我想运行一个会产生聚合结果的查询。 我有以下查询,用于评估价格列和片段列以生成结果。见下文:

Select  Case When [Price]/[PIECES] < 10 Then 'Low Value'
             Else 
        Case When [Price]/[PIECES] >= 10 Then 'High Value'
             End
        End
AS [High/Low] 
FROM [tbl1]

然后我想取上述查询的结果(用以下查询中的[高/低价值]列中的上述查询中的值替换)并按[高/低价值分段]汇总数据]。见下文:

SELECT [High/Low Value by Piece], Sum([Pieces]) as Pieces, Sum([Price]) as Price 
FROM [tbl1]
Group by [High/Low Value by Piece]
Order by [High/Low Value by Piece]

1 个答案:

答案 0 :(得分:0)

您的案例陈述有太多语法错误。修好后,您可以直接使用case中的select语句和group by这样的内容。

SELECT CASE
         WHEN [Price] / [PIECES] < 10 THEN 'Low Value'
         WHEN [Price] / [PIECES] >= 10 THEN 'High Value'
       END           AS [High/Low],
       Sum([Pieces]) AS Pieces,
       Sum([Price])  AS Price
FROM   [tbl1]
GROUP  BY CASE
            WHEN [Price] / [PIECES] < 10 THEN 'Low Value'
            WHEN [Price] / [PIECES] >= 10 THEN 'High Value'
          END