$daten = mysql_query("SELECT * FROM `tabelle_1` left outer join tabelle_2 on tabelle_1.spalte2 = tabelle_2.id ;"); while ($abfrage = mysql_fetch_array($daten, MYSQL_ASSOC)) { $var1[] = $abfrage['id']; $var2[] = $abfrage['spalte2']; $var3[] = $abfrage['spalte3']; }
Nun kann ich per $abfrage['alle_spalten_von_beiden_tabellen'] alle Datensätze abfragen, habe aber das Problem, dass die Abfrage $abfrage['id'] genau die falsche id (von tabelle_2) abfragt, da die Spalte id in beiden Tabellen vorkommt, ich aber die von tabelle_1 abfragen will.
Ich hab es zwar erstmal hinbekommen, indem ich die richtige id zum * hinzugefügt habe, also ...SELECT *, tabelle_1.id FROM... aber ich habe das Gefühl, dass das unsauber ist oder semantisch falsch oder wie auch immer das heißt, wenn etwas unschön programmiert ist, obwohl es grundsätzlich funktioniert. Die Abfrage holt zwar nun die richtige id aber durch das * wird ja dochh alles abgefragt und so richtig eindeutig scheint mir das deshalb nicht. Gibts da eine saubere Möglichkeit, beispielsweise in der Zeile:
$var1[] = $abfrage['id'];
eindeutig festzulegen, dass es die id aus der ersten Tabelle sein soll?