按SQL中的计算字段分组

我写了这样的查询
CASE 
              WHEN [col1] = 's' THEN '1'
              WHEN [col1] = 't' THEN '2' 
              WHEN [col1] = 'u' THEN '3' 
              WHEN [col2] = 'v' THEN '4'
.......
END AS product,SUM(col3)
FROM dbo.TableA

我想在产品上分组?
怎么做?

解决方法

您需要做的是为别名的CASE列使用子查询.将查询作为子查询,您可以按别名列进行分组.
select product
from
(
    select
    CASE  
        WHEN [col1] = 's' THEN '1' 
        WHEN [col1] = 't' THEN '2'  
        WHEN [col1] = 'u' THEN '3'  
        WHEN [col2] = 'v' THEN '4'
    END AS product,SUM(col3) as Col3Sum
    FROM dbo.TableA 
) a
group by product

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...