Meine Abfrage funktioniert einwandfrei, um Datensätze mit echten Werten zu finden, aber ich brauche auch meine Abfrage Datensätze mit Nullwerten anzeigen. Bisher haben meine Versuche, diese Abfrage neu zu erstellen, um auch Nullwerte anzuzeigen, dazu geführt, dass mindestens eine meiner Ergebnisspalten verloren gegangen ist. Jetzt suche ich nach Hilfe.SQL-Abfrage, um gute Datensätze sowie null Datensätze anzuzeigen
Das ist meine Abfrage ist so weit:
SELECT sq.*, sq.TransactionCountTotal - sq.CompleteTotal as InProcTotal from
(
select
c.CustName,
t.[City],
sum (t.TransactionCount) as TransactionCountTotal
sum (
case
when (
[format] in (23,25,38)
or [format] between 400 and 499
or format between 800 and 899
)
then t.TransactionCount
else 0
end
) as CompleteTotal
FROM [log].[dbo].[TransactionSummary] t
INNER JOIN [log].[dbo].[Customer] c
on t.CustNo = c.CustNo
and t.City = c.City
and t.subno = c.subno
where t.transactiondate between '7/1/16' and '7/11/16'
group by c.CustName,t.City
) sq
Dies ist zur Zeit zeigen, was meine Abfrageergebnisse:
CustName City InProcTotal TransactionCountTotal Complete Total
Cust 1 City(a) 23 7 30
Cust 2 City(b) 74 2 76
Cust 3 City(c) 54 4 58
Dies ist, was ich meine Abfrageergebnisse wollen zeigen:
CustName City InProcTotal TransactionCountTotal Complete Total
Cust 1 City(a) 23 7 30
Cust 2 City(b) 74 2 76
Cust 3 City(c) 54 4 58
Cust 4 City(d) 0 0 0
Cust 5 City(e) 0 0 0
abfragen möge Wenn ich 'RECHTS JOIN' ich ein paar zusätzlichen Ergebnisse bekommen, aber sie zeigen die CustName = NULL, wenn ich sein soll Erhalten von 'sum (t.TransactionCount) als TransactionCountTotal' gleich NULL – jwabsolution
Versuchen Sie LEFT JOIN, wie ich gezeigt habe. –
Es tut mir leid, ich versuchte Linke Join und teilte die Ergebnisse in der Antwort unter diesem. Ich fühlte, dass das Hinzufügen der Informationen über Right Join auch hilfreich gewesen sein könnte, so dass ich diese Ergebnisse unter dieser Antwort gepostet habe. – jwabsolution