Ich habe zwei Tabellen in derselben Datenbank:MYSQL - Wählen Sie, wo zwei Felder in beiden Tabellen gleich sind
T1 -
ID
Make
Model
Series
Variant
MSN
T2-
ID
Make
Model
MSN
Reg
location
uname
notes
T1
ist die Flugzeug-Tabelle und T2
ist die Logging-Tabelle. In T2
können wir viele Protokolle für jedes Flugzeug haben - so kann ich zum Beispiel ein Flugzeug mit Registrierung von G-VNEW in Manchester und Liverpool anmelden. Wenn also dieses Flugzeug zu einem späteren Zeitpunkt an ein anderes Unternehmen verkauft wird und es dann in G-DCAA wechselt, könnte ich dann das gleiche Flugzeug wieder an verschiedenen Orten wieder sehen.
Ich möchte eine Liste erstellen, die auf meiner Webseite ausgegeben wird, die alle Felder in T2
anzeigt, die gleich Make/Serial in T1
sind. Ist das in der richtigen Richtung:
Select * from T2 where T2.Make=T1.Make and T2.MSN=T1.MSN order by T2.date DESC
Die Argumentation behined die Marke/MSN-Auswahl ist, dass Boeing/Airbus-Flugzeuge mit der gleichen MSN haben könnte, unwahrscheinlich, aber möglich.
Ich sehe keine Serial in beiden Tabellen. Ist Serial ein eindeutiges Feld? Wenn ja, warum brauchst du das Make? – kojow7
Hi ja meine schlechte - Serial - sollte MSN sein (Manufacturers Serial Number) Die Seriennummer könnte für zwei verschiedene Flugzeuge von zwei verschiedenen Herstellern gelten. –
Ich verstehe nicht, warum Sie Make, Model in beiden duplizieren würden. ID in T1 wäre der eindeutige Primärschlüssel; Machen Sie dann eine LogID in T2, die der eindeutige Primärschlüssel von T2 wäre und auch eine ID als Spalte in T2 hätte, um sie an einen bestimmten T1-Eintrag zu binden. Oder vielleicht vermisse ich etwas .... – user3741598