Ich habe 2 Tabellen;Verbinden Sie 2 Tabellen mit wo und MAX
TableSN
snID SerialNR Unit Version
1 123 A A1
2 456 A A2
TableDelivery
dID SerialNR Team
1 456 US
2 456 GE
3 456 FI
Ergebnis
snID SerialNR Unit Version Team
1 123 A A1
2 456 A A2 FI
Ich brauche Tabelle auf TableSN and SerialNR
Basis zu bekommen, die Auflistung, wo Version gegeben. In der gleichen Tabelle muss ich die zuletzt eingegebene für Team-Spalte anzeigen. Ich kann die Tabelle korrekt anzeigen lassen, wenn Teamdaten verfügbar sind.
Meine Frage ist, wie diese
SELECT TableSN.snID, TableSN.SerialNR, TableSN.Unit, TableSN.Version, TableDelivery.Team
FROM TableSN
LEFT OUTER JOIN TableDelivery ON TableDelivery. SerialNR = TableSN. SerialNR
LEFT OUTER JOIN (
SELECT SerialNR, MAX(dID) AS snRank
FROM TableDelivery AS TableDelivery _1
GROUP BY SerialNR
) AS NewTeam ON TableDelivery. SerialNR = NewTeam. SerialNR AND TableDelivery.dID = NewTeam.snRank
WHERE (TableSN.Version = @Version)
Wie erhalte ich SerialNR
sichtbar, wo es keine Mannschaft zur Verfügung stehen?
Vielen Dank für Beratung und Unterstützung.
Dies ist, was gebraucht wird:
[
können Sie bitte Tabellen mit einigen Datensätzen erwähnen. – mansi
TableSN.SerialNR sollte immer sichtbar sein, solange TableSN.Version = @Version true ist - da TableSN Ihre erste Tabelle ist und die anderen LEFT damit verbunden sind - soweit ich das sehen kann – Cato
Eigentlich mit "LEFT" join es dauert ALLE TableDelivery-Daten sichtbar. Mit "RIGHT" join wird es korrekt angezeigt, aber es wird weggelassen, wenn in TableDelivery keine Daten für SerialNR vorhanden sind. "RIGHT" Join ist der, den ich brauche, aber ich muss auch diejenigen haben, die keine Team-Informationen in TableDelivery haben. – makelei