2

我有这张桌子...

+-----+--------+------+-----+-----+
|categ| nAME   | quan |IDUNQ|   ID|
+-----+--------+------+-----+-----+
|   1 | Z      |    3 |   1 |  15 |
|   1 | A      |    3 |   2 |  16 |
|   1 | B      |    3 |   3 |  17 |
|   2 | Z      |    2 |   4 |  15 |
|   2 | A      |    2 |   5 |  16 |
|   3 | Z      |    1 |   6 |  15 |
|   3 | B      |    1 |   7 |  17 |
|   2 | Z      |    1 |   8 |  15 |
|   2 | C      |    4 |   8 |  15 |
|   1 | D      |    1 |   8 |  15 |
+-----+--------+------+-----+-----+

我需要得到类别 1 的 Z + 类别 2 的 Z - 类别 3 的 Z

例如,(3+3-1) = 5 ==> 猫 1 的 3,猫 2 的 3,猫 3 的 1

最后的结果应该是...

Z ==> 5
A ==> 5
B ==> 2
C ==> 4
4

2 回答 2

8

注意:我假设您示例中的“C”数据被错误地省略了。

SELECT nAME, SUM(CASE categ WHEN 3 THEN 0-quan ELSE quan END) AS quan
FROM theTable
GROUP BY nAME

SQL小提琴

于 2012-11-03T03:19:58.723 回答
-2
SELECT name, SUM(quan) AS sum
FROM   tableName
GROUP BY name, categ

这应该有效。

于 2012-11-03T03:21:22.003 回答