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 に答える