Wenn Sie wollen einfach ein SUM()
dann eine abgeleitete Tabelle verwenden und union all
:
SELECT Batch, SUM(Cnt) AS TotalCount
FROM (
select (BatchIdentifier) AS Batch,
Count(distinct BatchIdentifier) as Cnt
from ERTBatchChecks
Group By BatchIdentifier
union all
select (ERTBatchNumber),
Count(distinct ERTBatchNumber)
from ERTClaims
Group By ERTBatchNumber
union all
select (BatchIdentifier),
Count(distinct BatchIdentifier)
from ERTBatches
Group By BatchIdentifier
) SubCounts
GROUP BY Batch
Wenn Sie eine Gesamtanzahl der verschiedenen ‚partienweise‘ wollen, dann verwenden Vereinigung und COUNT()
:
SELECT Count(Batch) AS TotalDistinctBatches
FROM (
select distinct BatchIdentifier as Batch
from ERTBatchChecks
union
select distinct ERTBatchNumber
from ERTClaims
union
select distinct BatchIdentifier
from ERTBatches
) DistinctBatches
Hinweis: Union all
wird Duplikate halten, Union
wird nicht. Daher möchten wir für das Hinzufügen der Zählungen Union all
verwenden, falls zwei der Zählungen gleich sind. Aber zum Zählen der verschiedenen Chargen wollen wir Union
, also zählen wir nicht die gleiche Charge mehr als einmal.
Gesamtanzahl von was? Alle Datensätze oder Gruppen oder ...? Haben BatchIdentifier und ERTBatchNumber in Tabellen die gleichen Werte, so dass die Gruppierung tabellenübergreifend sein sollte? Können Sie einige Beispieldaten und das erwartete Ergebnis veröffentlichen? –