phpbar.de logo

Mailinglisten-Archive

[dbs] LEFT JOIN

[dbs] LEFT JOIN

Sebastian Mendel lists at sebastianmendel.de
Don Mar 11 09:42:38 CET 2004


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