FraFu: Durchsuchen einer Datenbank

Beitrag lesen

Hallo!

Tabelle 1: Adressen
id  benutzernummer name
1  1234   Max Müller
2  6789   Michael Meier

Tabelle 2: Autos
id benutzernummer  Auto  Türen
1  1234   Opel Astra 4
2  1234   VW Polo  2
3 6789  Toyota Corolla 4
4 6789  VW Golf  2
5 6789  VW Polo  4

Einfacher würde es werden, wenn man die Spalte Auto auf zwei Spalten aufteilen könnte. Nämlich in Marke und Typ. Dann ist die Abfrage wesentlich einfacher.
Bist du sicher, dass direkt in der Tabelle Autos die Referenz auf den Benutzer gespeichert ist? Was ist, wenn 2 Personen einen 4 türigen VW Polo haben? Dann steht in der Tabelle Autos wirklich zweimal VW Polo 4 türig?

Tabelle 3: Motorräder
id benutzernummer Motorrad Beiwagen
Ähnlich wie die der Autos

Die Zugehörigkeit wird über die benutzernummer ermittelt.
Über die ID ist es leider nicht möglich, da die Tabelle Autos und Motorräder nicht von uns erstellt werden und wir diese einfach übernehmen (müssen ca. 30.000 Datensätze/Tabelle).

Aus der Tabelle sollen z.B. Alle VW besitzer ermittelt werden und die Adressen angezeigt werden. Bei dieser Abfrage soll das Auto auf VW überprüft werden. Wenn das Auto VW enthält ist der Besitzer ein VW besitzer und wird angezeigt.

Ist sichergestellt, dass die Bezeichnung eines VWs immer mit "VW" beginnt? Wenn ja dann:

SELECT adressen.* FROM adressen,autos WHERE autos.auto like "VW%" AND autos.benutzernummer=adressen.benutzernummer

Weiters könnten aber alle VW und Opel Besitzer gesucht werden oder alle die einen VW Polo mit 2 Türen besitzen.

VW und Opel Besitzer:
SELECT adressen.* FROM adressen,autos WHERE (autos.auto like "VW%" OR autos.auto like "Opel%") AND autos.benutzernummer=adressen.benutzernummer

VW Polo mit 2 Türen:
SELECT adressen.* FROM adressen,autos WHERE autos.auto ="VW Polo" AND autos.türen=2 AND autos.benutzernummer=adressen.benutzernummer

mfg
  frafu