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