2017-11-08 8 views
0
PatientId PatientName CashAmount CreditAmount CreditCardAmount 
-------------------------------------------------------------------- 
1   AMALRAJ A  0    0   0 
1   AMALRAJ A  0    100   0 
1   AMALRAJ A  0   1500   0 
1   AMALRAJ A  1459    0   0 

に私はこのような結果が必要です。複数の和の列IDによる単一選択クエリおよびグループ

PatientId PatientName CashAmount CreditAmount CreditCardAmount 
------------------------------------------------------------------------- 
1   AMALRAJ A  1459   1600    0  
+2

ヒント: 'GROUP BY'。 –

答えて

1
SELECT 
    PatientId, 
    PatientName, 
    SUM(CashAmount) AS CashAmount, 
    SUM(CreditAmount) AS CreditAmount, 
    SUM(CreditCardAmount) AS CreditCardAmount 
FROM table_with_patients 
GROUP BY PatientId, PatientName 
0

その他の方法group by cluaseなしです:

SELECT DISTINCT 
     PatientId, 
     PatientName, 
     SUM(CashAmount) OVER(PARTITION BY PatientId, 
             PatientName) CashAmount, 
     SUM(CreditAmount) OVER(PARTITION BY PatientId, 
              PatientName) CreditAmount, 
     SUM(CreditCardAmount) OVER(PARTITION BY PatientId, 
               PatientName) CreditCardAmount 
FROM table; 

結果:

PatientId PatientName CashAmount CreditAmount CreditCardAmount 
1   AMALRAJ A 1459  1600    0 
関連する問題