在下面的示例表中,我試圖找出一種方法來將所有標記中的標記「C」不存在於標識內。當標記'C'確實存在於一個id中時,我想要通過該id的金額總和,不包括相對於標記'A'的金額。如圖所示,我的期望輸出在底部。我已經考慮過使用分區和EXISTS命令,但是我在解決方案的概念化方面遇到了問題。如果你們可以看看,並指出我在正確的方向,將不勝感激:)如果存在另一個組中的記錄,則排除其中的記錄值
示例表:
id mark amount
------------------
1 A 1
2 A 3
2 B 2
3 A 2
4 A 1
4 B 3
5 A 1
5 C 3
6 A 2
6 C 2
所需的輸出:
id sum(amount)
-----------------
1 1
2 5
3 2
4 4
5 3
6 2
你的第二個'sum'可能應該是:'sum(當mark <>'A'then amount else 0 end時)'(應該是'amount'而不是'1')。 –
@AndriyM突如其來的錯誤。修正了它 –
@Adrian,謝謝你的回覆。實施你的解決方案後,我意識到我問了這個問題錯了!這個解決方案完全符合我的要求,但是我要求的並不是我所需要的:)。如果你有足夠的心去做這件事,我已經在[link](http://stackoverflow.com/questions/13169830/exclude-value-of-a-record-in)上提出了一個與我的實際需求有關的新問題-a基團如果-另一個-是至今-V2) –