Mailinglisten-Archive |
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