Mailinglisten-Archive |
On Thursday 15 July 2004 19:50, ANGEL Harald wrote: > Hi Liste! > Folgendes Problem: > Ich hab eine Tabelle A und eine Tabelle B. In Tabelle B gibts zu jedem Wert > von A N Einträge. Ich will jetzt eine SQL haben, die mir einen Satz aus A > anzeigt und dazu den Satz aus Tab B mit der grössten AutowertID. vielleicht > wirds als Beispiel deutlich: > > SELECT A.id, A.irgendeinfeld, B.id, B.textfeld FROM A LEFT JOIN B ON A.id = > B.aid WHERE A.id=1 Schneller geht vielleicht auch (aber wegen Order nicht unbedingt): SELECT A.id, A.irgendeinfeld, B.id, B.textfeld FROM A LEFT JOIN B ON A.id = B.aid WHERE A.id=1 ORDER BY B.id LIMIT 1 Schneller ist vielleicht 2 Querys abzusetzen statt einer, spart den Join: Select A.irgendeinfeld from A where A.id=1 Select B.id, B.textfeld from B where B.aid=1 order by B.id LIMIT 1 Wenn du weisst dass B.id sowieso geordnet ist oder einen clustered index darauf hast, brauchst du das order by nicht, wesentlich schneller. -- Konstantin Rekk Berlin phone: +49 (0) 30 48623452 mobil: 0176 2100 6000 www.rekk.de www.tanden-aikido.de
php::bar PHP Wiki - Listenarchive