Mailinglisten-Archive |
>da reicht ein selekt völlig aus: >SELECT id.a, id.b, id.c FROM tabelle1 AS a, tabelle2 AS b, tabelle3 AS >c >ich glaub so müsste es funktionieren (hoffe ich, is nich getestet) Hallo, Deine Lösung ist so nicht notwendig, da die Zuweiung eigener Aliases nur dann notwendig sind, wenn z.B. in mehreren Tabellen identische Spalten- namen vorhanden sind. Beispiel: Tabelle Firmenadressen id, firmennamename, strasse, ... Tabelle Ansprechpartner id, id_adr, nachname, vorname, ... Dann handelt es sich hierbei um eine klassische 1-n Verbindung, die natürlich in beiden Tabellen indiziert sind und über die Verbindung Firmenadressen.id <-> Ansprechpartner.id_adr zu referenzieren wären. Bei einer Abfrage wie z.B. SELECT Firmenadressen.*, Ansprechpartner.* FROM Firmenadressen, Ansprechpartner WHERE Firmenadressen.id = Ansprechpartner.id_adr ergäbe das eine Ergebnismenge, in der alle Datensätze aus Firmenadressen in Verbindung mit den Ansprechpartnern enthalten wären. ABER: Ohne Aliases über das Schlüsselwort 'AS' würde Dir beim PHP Befehl 'fetch_array' die Spalte 'id' der Firmenadressen überschieben mit dem Inhalt der Spalte 'id' der Ansprechpartner und damit hättest Du in einer Liste immer 'falsche' ID-Zuordnungen im Bereich der Firmenausgabe. Man löst das dann - wenn ich mich richtig erinnere - so SELECT Firmenadressen.id as f_id, Firmenadressen.firmenname, Ansprechpartner.id as a_id, Ansprechpartner.andereFelder FROM Firmenadressen, Ansprechpartner WHERE ... siehe oben. beim fetch_array-Befehl wären dann die einzelnen Aliases über $f_array["f_id"] und $f_array["a_id"] erreichbar... Ob Du dabei 2, 3 oder X Tabellen auf diese Weise referenzierst, ist so weit ich weiß egal... Geholfen??? Sonst frag ruhig noch was. Gruß Tim
php::bar PHP Wiki - Listenarchive