Hi,
in meiner Weltmarktapplikation „Sportwagenmanager“ benutze ich eine Tabelle mit Sportwagen id und name und eine Tabelle Fahrer mit id und Name. Ausserdem gibt es eine Tabelle Sportwagen_Fahrer_rel mit id, idSportwagen und idFahrer, die beide miteinander verknuepft. Ungefaehr so:
Sportwagen:
+----+-------------+
| id | name |
+----+-------------+
| 1 | Audi |
| 2 | Porsche |
| 3 | Ferrari |
| 4 | Lamborghini |
+----+-------------+
Fahrer:
+----+---------+
| id | name |
+----+---------+
| 1 | Klaus |
| 2 | Horst |
| 3 | Michael |
| 4 | Peter |
+----+---------+
Sportwagen\_Fahrer\_rel:
+-----+--------------+----------+
| id | idSportwagen | idFahrer |
+-----+--------------+----------+
| 18 | 2 | 4 |
| 216 | 3 | 3 |
| 217 | 2 | 1 |
| 497 | 1 | 4 |
| 299 | 2 | 3 |
| 218 | 2 | 2 |
+-----+--------------+----------+
Ich glaube, das macht man ungefaehr so.
Ziel ist jetzt, eine Matrix zu erstellen, in der in der ersten Zeile alle Sportwagen stehen, in der ersten Spalte alle Fahrer und ueberall dort eine 1 (oder X oder was auch immer), wo ein Fahrer per Sportwagen_Fahrer_rel mit dem Sportwagen verknuepft ist.
Meine stuemperhaften Versuche sehen bis jetzt so aus, dass ich zuerst alle Sportwagen in ein array stopfe, anschliessend alle Fahrer und dann mit i und j ueber beide arrays iteriere und
SELECT 1 FROM Sportwagen\_Fahrer\_rel WHERE idSportwagen = (SELECT id FROM Sportwagen WHERE name = '$i') AND idFahrer = (SELECT id FROM Fahrer WHERE name = '$j')
Das dauert natuerlich ewig. (Dazu muss man vielleicht wissen, dass ich ungefaher 3000 Sportwagen und 400 Fahrer habe, also >1Mio. zur MySQL renne.)
Kann MySQL das vielleicht auch irgendwie besser, schneller, eleganter?
Danke im Voraus.
Mf
Gruss vom Frank.