Mailinglisten-Archive |
tom wrote: > Mit dieser Abfrage: > > SELECT .. > FROM tab1 AS t1 > LEFT JOIN tab2 AS t2 ON (...) WHERE ... ORDER by t2.feld DESC LIMIT 0,1 > > erreicht man dass die Einträge aus der tab1 geordnet und limitiert werden. Wie bewirke ich es aber, dass die Einträge, die per LEFT JOIN aus der tab2 kommen nach einem Feld in der Tabelle geordnet und limitiert werden? > > SELECT .. > FROM tab1 AS t1 > LEFT JOIN tab2 AS t2 ON (...) ORDER by t2.feld DESC LIMIT 0,1 > WHERE ... > > Bei dieser Abfrage erhalte ich jedoch immer einen Syntax-Fehler. Wie bekomme ich das aber trotzdem hin? Ich möchte nämlich die die Tabelle tab1 auslesen und dabei dazugehörige Werte aus der Tabelle tab2. Und zwar den höchsten und zweithöchsten Wert eines Feld aus tab2. das ist klar, weil das WHERE nunmal nicht nach dem ORDER kommen kann, die Reihenfolge ist _fest_ ! SEL|UPD|DEL . FROM . JOIN . WHERE . ORDER . HAVING . LIMIT heißt das du willst nur die zwei höchsten Werte der Tabelle 2? oder die zwei höchsten Werte zu jedem passenden Eintrag in der Tabelle 1? oder die zwei Höchsten Werte der Tabelle 2 die überhaupt zu irgendeinem Wert in der Tabelle 1 passen? oder willst du einfach nicht alle passenden Datensätze aus Tabelle 2 mit Tabelle 1 verknüpfen, sondern nur bestimmte? vielleicht kannst du mal ein Beispiel zeigen was du hast, wa du bekommst und was du haben möchtest! -- Sebastian Mendel (www.sebastianmendel.de) *www.warzonez.de* | www.tekkno4u.de | www.nofetish.com
php::bar PHP Wiki - Listenarchive