Mailinglisten-Archive |
Hallo Michael, FECOM Michael Fessl schrieb: > in einer Tabelle stehen toDo-Jobs. Die Tabelle enthält ein > Feld Von_ID und ein Feld To_ID, in denen jeweils die entsprechenden > Personen stehen, die den ToDo-Eintrag deligieren, bzw. deligiert > bekommen. > > In einer anderen Tabelle stehen die IDs, Namen und Namenskürzel. > > Jetzt muß ich das ganze so ausgeben, daß jeweils statt Von_ID und > To_ID die entsprechenden Kürzel und Namen ausgegeben werden. SELECT Von.Name AS VonName, Von.Kürzel AS VonKürzel, To.Name AS ToName, To.Kürzel AS ToKürzel FROM Jobs, Namen AS Von, Namen AS To WHERE Jobs.To_ID = To.ID AND Jobs.Von_ID = Von.ID Viele Grüße Thomas P.S.: Vor kurzem habe ich hier etwas von ON geschrieben bei JOINs. Statt WHERE gibst du dann ON ein (scheint allerdings nur für die Verknüpfungsbedingungen zu funktionieren, die Einschränkungen - z.B. auf eine Person - muß wohl weiter im WHERE-Teil stehen. Im FROM-Abschnitt muß dann irgenwo ein JOIN stehen. Habe selbst noch nicht richtig damit gearbeitet, sondern das nur im Handbuch im Kapitel Join gelesen (bei Little-Idiot ist es Kapitel 28.9). Vorteil soll sein, daß ON beim Verknüpfen der Tabellen die Bedingung(en) bereits überprüft wohingegen WHERE erst einmal alle Datensätze aller Tabellen verknüpft und erst dann die überflüssigen verknüpften Datensätze rauswirft. Konkret: bei 150 Personen und 50 Jobs: WHERE: 50 * 150 * 150 = 1.125.000 aus denen die 50 relevanten rausgefiltert werden ON: 50 Datensätze, die relevant sind Vielleicht kannst du ja mal von deinen Erfahrungen berichten oder ein anderer hat schon mehr damit gearbeitet. -- Alles sollte so einfach wie möglich gemacht werden - aber nicht einfacher. (Albert Einstein) --- *** Abmelden von dieser Mailingliste funktioniert per E-Mail *** an mysql-de-request_(at)_lists.4t2.com mit Betreff/Subject: unsubscribe
php::bar PHP Wiki - Listenarchive