phpbar.de logo

Mailinglisten-Archive

straight join, order by und limit

straight join, order by und limit

Sebastian Mendel lists at sebastianmendel.de
Don Mar 3 08:49:24 CET 2005


ibekowies at shavingkiwis.de wrote:

> SELECT u.id, u.nick
> FROM users u, users_2_users uu
> WHERE
> uu.id_users1 = 1
> AND uu.id_users2 = u.id
> AND uu.relation = 'friend'
> ORDER BY u.nick LIMIT 0,5
> 
> 
> Es gibt 2 Zeilen die zutreffen.
> 
> Nun findet er ohne das Limit von 5 alle beide.
> MIT Limit unterschlaegt er einen.
> 
> Ohne das ORDER BY geht es auch.

und schonmal in 'Normal'-Form probiert?

    SELECT u.id,
           u.nick
      FROM users_2_users AS uu
LEFT JOIN users         AS u
        ON uu.id_users2 = u.id
     WHERE uu.id_users1 = 1
       AND uu.relation  = 'friend'
  ORDER BY u.nick
     LIMIT 0,5

  - das erste FROM sollte die Tabelle sein auf die das erste WHERE bzw. 
das WHERE mit den wenigstens Ergebnissen, welches beides das selbe sein 
sollte, zutrifft

  - die Benutzung von (LEFT) JOIN erhöht erheblich die Lesbarkeit, was 
zur Filterung und was zur Tabellen-Verknüpfung gehört bei den 
WHERE-Bedingungen


> Ist das normal? Oder eher ein Bug in meiner Mysql-Version (MySQL 
> 4.0.4-beta-max-nt)

naja ... ich denk schon, aber es könnte trotzdem funktionieren, siehe oben


-- 
Sebastian Mendel

www.sebastianmendel.de www.warzonez.de www.tekkno4u.de www.nofetish.com
www.sf.net/projects/phpdatetime        www.sf.net/projects/phptimesheet

-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive