Ich habe vier verschiedene Tabellen, die ich abzufragen versuche, die erste Tabelle ist, wo ich die meisten Abfragen tun werde, aber wenn es keine Übereinstimmung im Auto gibt, bin ich in anderen suchen Felder in den anderen Tabellen, um festzustellen, ob eine Übereinstimmung mit einem VIN-Parameter vorliegt.Sollte ich beitreten oder sollte ich UNION
Beispiel:
Select
c.id,
c.VIN,
c.uniqueNumber,
c.anotheruniqueNumber
FROM Cars c, Boat b
WHERE
c.VIN = @VIN(parameter),
b.SerialNumber = @VIN
Jetzt sagen, dass ich kein Spiel in Cars
haben, aber es gibt eine Übereinstimmung in Boat
, wie würde ich in der Lage sein, den passenden Boot Record vs Auto Rekord zu ziehen? Ich habe versucht, die Tabellen zu verbinden, aber die Tabellen haben keinen eindeutigen Bezeichner, um auf die andere Tabelle zu verweisen.
Ich versuche herauszufinden, was die beste Möglichkeit ist, alle Tabellen von einem Parameter zu suchen, aber mit der geringsten Menge an Code. Ich dachte über UNION ALL
, aber nicht sicher, ob das, was ich wirklich für diese Situation wollen, da die Anzahl der Datensätze extrem groß werden könnte.
Ich verwende derzeit SQL Server 2012
. Danke im Voraus!
AKTUALISIERT:
CAR table
ID VIN UniqueIdentifier AnotherUniqueIdentifier
1 2002034434 HH54545445 2016-A23
2 2002035555 TT4242424242 2016-A24
3 1999034534 AGH0000034 2016-A25
BOAT table
ID SerialNumber Miscellaneous
1 32424234243 545454545445
2 65656565656 FF24242424242
3 20023232323 AGH333333333
Erwartetes Ergebnis, wenn @VIN
Parameter eine Boot-Kennung übereinstimmt:
BOAT
ID SerialNumber Miscellaneous
2 65656565656 FF24242424242
Beispieldaten und das erwartete Ergebnis würden helfen –
Normalerweise wird 'JOIN' für Daten verwendet, die eine definierte Beziehung haben. zB: Kurse und Studenten. Da möglicherweise keine Cars Towing Boats vorhanden sind, gibt es keine Referenzbeziehung, so dass ein 'JOIN' hier nicht zutrifft. –
Bitte bitte, bitte, verwenden Sie diese veraltete [Join-Syntax.] (Http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-old-style-joins .aspx) – Zane