0
SQLiteで条件付きSUMを作成する方法をお伝えしたいと思います。上記の表にはまだそのままのデータであるSQLite条件付きSUM
ID1 ID2 Value TOTAL
-------------------------------
1 None
1 7.00 None
1 1.00 None
1 1.00 None
1 3.00 None
1 2.00 None
2 None
2 5.00 None
2 1.00 None
3 None
3 7.00 None
3 1.00 None
3 1.00 None
3 3.00 None
SQLのアクションの前に
TABLE:私はこの例を作成しました。私はID1 = ID2の場合は値のSUMを作成し、結果を 'TOTAL'列にポストします。
TABLEのSQL ACTION
ID1 ID2 Value TOTAL
-------------------------------
1 14.00
1 7.00 None
1 1.00 None
1 1.00 None
1 3.00 None
1 2.00 None
2 6.00
2 5.00 None
2 1.00 None
3 12.00
3 7.00 None
3 1.00 None
3 1.00 None
3 3.00 None
後、私はノー成功でこれを試してみた:
curOperations.execute('UPDATE TABLE1 SET TOTAL =
(SELECT SUM(CASE WHEN ID1 = ID2 THEN Value ELSE 0 END) as Value FROM TABLE1)')
EDIT
だから私は道を見つけましたSUMをかなり容易に得るためにY:それと
SELECT ID2, SUM(Value) FROM Table GROUP BY ID2
私は、この表を入手:
ID2 SUM(Value)
------------------------
1 14.00
2 6.00
3 12.00
私が今しなければならない唯一の事は、「メイン」テーブル
任意のアイデアにこれらの値を渡すことですか?
しかし、唯一のいくつかの行が更新されるべきです。 –
@ CL。この問合せは、ID1がNULLでない行のみを更新し、* TABLE AFTER SQL ACTION *表示に表示する値を与えます。 –
UPDATEは、サブクエリがNULLを返す場合でも、すべての行を変更します。 –