ID DDBH COLOR1 Amount1 COLOR2 Amount2 COLOR3 Amount3
19 T33338 红色 75.00 白色 150.00 绿色 100.00
20 T33338 棕色 30.00 黑色 60.00 紫色 500.00
21 T33338 青色 30.00 蓝色 60.00 灰色 20.00
22 T33338 灰色 15.00 棕色 30.00 红色 40.00
上面是 数据
如何用SQL 语句查出 所有颜色分类的 amount1,amount2,amount3 的总和
结果如:
红色 115.00 白色 150.00 绿色 100.00 棕色60.00 黑色 60.00 紫色 500.00 青色 30.00 蓝色 60.00 灰色 35.00
------解决方案--------------------------------------------------------
SELECT A.COLOR,ISNULL(SUM(QTY),0) AS QTY
FROM (
SELECT ISNULL(COLOR1, ' ') AS COLOR,ISNULL(SUM(AMOUNT1),0)AS QTY
FROM COLOR
GROUP BY COLOR1
UNION ALL
SELECT ISNULL(COLOR2, ' ') AS COLOR,ISNULL(SUM(AMOUNT2),0)AS QTY
FROM COLOR
GROUP BY COLOR2
UNION ALL
SELECT ISNULL(COLOR3, ' ') AS COLOR,ISNULL(SUM(AMOUNT3),0)AS QTY
FROM COLOR
GROUP BY COLOR3
) A
GROUP BY A.COLOR