Table
|C1 |C2 |C3 | |------|----|-------| |A |M |4000 | |A |S |588998 | |B |S |2 | | | | |
Output as
|C1   |Total of C3|Flag set to true if C1 contains only S as Status|
|-----|--------   |-------                                         |
|A    |592998     |0                                               |
|B    |2          |1                                               | 
                        
                                                
Thank you in Advance
Advertisement
Answer
Use conditional aggregation:
select c1, sum(c3),
       min(case when c2 = 'S' then 1 else 0 end) as flag
from t
group by c1;
You can also express the condition as:
select c1, sum(c3),
      (case when min(c2) = max(c2) and min(c2) = 'S' then 1 else 0 end) as flag
from t
group by c1;