Mailinglisten-Archive |
Schmuck, Michael schrieb: > > Ich habe diese 3 Tabellen: > > 1. Fahrzeuge: ID, Kennzeichen, Typ ... > 2. Firma: ID, Name, Adresse ... > > 3. firma_has_fzg: idFZG, idFIRMA, Zugehörig seit (datum) Verständnisfrage: Wenn ein Fahrzeug (aktuell) nur einer Firma zugeordnet ist und die Firma mehrere Fahrzeuge haben kann, dann ist das eine 1:n-Beziehung, für die 2 Tabellen (Fahrzeuge, Firma) ausreichen, mit firma.ID als FK in Tabelle fzg (z. B. fzg.firma_id). > Soweit so gut, nur bekomme ich nun nicht nur die Autos raus die diese > Firma aktuell hat, sondern auch die sie mal hatte. Wie kann ich das > mit nur einer Query auf die Datenbank lösen? Um zu wissen, ob ein Fahrzeug nicht mehr im Bestand wissen, bräuchte man ein Datenfeld "Ausgesondert am (Datum)", z. B. fzg.ausgesondert_am. Wenn es außerdem keine Fahrzeuge gibt, die keiner Firma zugeordnet sind, geht auch ein INNER JOIN. SELECT fzg.id, fzg.kennzeichen, firma.name FROM fzg INNER JOIN firma ON fzg.firma_id = firma.id WHERE firma.id = 123 AND fzg.ausgesondert_am IS NULL; Mfg Michael Detambel
php::bar PHP Wiki - Listenarchive