正如我们在“颜色”列的图像中看到的,有两个值红色和黑色
我要计算红色和黑色的值 Black=3
& Red=7
我的sql查询
select SPDNO,Cost,Company_Name,Product,Color,
case when Color='Black' then 'sum Black Color' when Color='Red' then 'sum Red Color'
else '' End as ColorResult
from bike_details where (Color='Red' or Color='Black') and SPDNO='5000';
我的期望输出如下单行给出
SPDNO Cost Company_Name ColorSum Product
5000 470000 Memon Motors 3,7 SUPER STAR (SS-70cc)M.C Red,SUPER STAR (SS-70cc)M.C BLack
如有任何帮助,我们将不胜感激
2条答案
按热度按时间zyfwsgd61#
您需要两个聚合级别。
这将适用于mysql:
ha5z0ras2#
select SPDNO,Cost,Company_Name,Product,Color, SUM(IIF(Color = 'Black', 3, 7)) as ColorResult from bike_details where (Color='Red' or Color='Black') and SPDNO='5000' GROUP BY SPDNO,Cost,Company_Name,Product;
只要你只看这两种颜色,这将工作,否则你必须做其他事情。这实际上是对iif()函数的结果使用sum()函数。
我只是重读了你的问题,我不确定你是否真的想把颜色加起来。如果是这样,可以删除sum()函数:
select SPDNO,Cost,Company_Name,Product,Color, IIF(Color = 'Black', 3, 7) as ColorResult from bike_details where (Color='Red' or Color='Black') and SPDNO='5000' GROUP BY SPDNO,Cost,Company_Name,Product;