2016-04-12 11 views
1

Ich habe diese AbfrageFasst Summe Gruppe

select 
    TransDate, 
    sum(Amount) as total, 
    TransType, 
    Provider, 
    Client 
from @combined 
where Amount <> 0.00 
group by TransDate, TransType, Provider, Client, Amount 
order by Client asc 

, die diese Ergebnismenge erzeugt:

TransDate total TransType Provider Client 

2014-08-12 5.00  I  FPCH John Smith 
2014-08-12 27.00  I  FPCH John Smith 
2014-08-12 -27.00  P  FPCH John Smith 
2014-08-12 -5.00  P  FPCH John Smith 
2014-10-14 27.00  I  FPCH John Smith 
2014-10-14 -27.00  P  FPCH John Smith 
2013-02-23 5.00  I  FPCH Abbie Smith 
2013-02-23 -5.00  P  FPCH Abbie Smith 

Was ich suche die entsprechenden positiven und negativen Zahlen zusammen beide Zahlen zu tun ist, Summe abzubrechen aus und dann auf dem Client gruppieren.

Also im Grunde beide Clients werden nicht in der Liste angezeigt.

+0

Need Spaltennamen und was Sie ausprobiert haben. Scheint aber eine Summe in der 2. Spaltengruppe zu sein, indem der Name eine Summe (2. Spalte) <> 0 hat, vorausgesetzt, der Name ist jedoch in jeder Zeile. – xQbert

+0

Nichts in Google über Summierergebnissätze? – dfundako

Antwort

0

den „Namen“ Unter der Annahme, eigentlich in jeder Zeile wiederholt wird, und ist einzigartig ... (was bedeutet, identifiziert eindeutig einen Datensatz zusammengefasst werden, um zusammen)

SELECT sum(2ndColumn), Name 
FROM TableOrViewName 
GROUP BY Name 
HAVING sum(2ndColumn) <> 0 

oder vielleicht ... wenn Sie die Daten benötigen für diejenigen, die nicht zu 0

With CTE AS (
select TransDate, sum(Amount) as total, TransType, Provider, Client, 
SUm(Amount) over (Partition by name Order by Name) ToInclude 
from @combined where Amount <> 0.00 
group by TransDate, TransType, Provider, Client, Amount) 

Select * from cte 
where ToInclude <> 0 
order by Client asc 
+0

Wie wäre die Abfrage, wenn der Name in jeder Zeile wiederholt wurde, aber dupliziert wurde? – Sam

+0

Mit "unique" meinte ich, dass John Smith Abbie Smith nicht folgen und eine andere Person repräsentieren würde. Normalerweise würde diese Art von Gruppierung auf einer Konto-ID basieren, die der Person zugeordnet ist, um die Eindeutigkeit zu garantieren. – xQbert