在下面的示例表中,我試圖找出一種在兩種情況下對標記進行總和的方法:第一種,當標記「C」存在於一個單一的ID,第二個,當標記'C'不存在於一個ID內(見ID 1或2)。在第一種情況下,我想在該ID內排除標記「A」的金額(請參閱下面所需的轉換表中的ID 3)。在第二種情況下,我希望不排除任何東西,並拿出與標記數量的簡單總和。如果存在另一個組中的記錄,則排除組中記錄的值v2
換句話說,對於包含標記'A'和'C'的id,我想將'A'的金額設爲零。對於不包含標記「C」但包含標記「A」的標識,將原始標記保留爲標記「A」。
我想要的輸出是在底部。我曾考慮嘗試通過id進行分區或使用EXISTS命令,但我在解決方案概念化時遇到了問題。如果你們可以看看,並指出我在正確的方向,將不勝感激:)
示例表:
id mark amount
------------------
1 A 1
2 A 3
2 B 2
3 A 1
3 C 3
需要的轉換:
id mark amount
------------------
1 A 1
2 A 3
2 B 2
3 A 0
3 C 3
所需的輸出:
mark sum(amount)
--------------------
A 4
B 2
C 3