Mailinglisten-Archive |
Hi SELECT p1.userId, p2.* FROM pix p1, pix p2 WHERE p1.usr_name = p2.usr_name AND p1.id = 0815 AND ( p1.id < p2.id AND 5 >= ( SELECT * FROM pix pi WHERE pi.usr_name = p1.usr_name AND pi.id BETWEEN p1.id AND p2.id ) ) OR ( p1.id > p2.id AND 5 >= ( SELECT * FROM pix pi WHERE pi.user_name = p2.usr_name AND pi.id BETWEEN p2.id AND p1.id ) ) GROUP BY p1.userId ORDER BY p1.userId, p2.datum Benoetigt aber 4.1.1-alpha wegen der nested-Selects Es werden die fuenf folgenden, die aktuelle und vorhergehenden Ids geliefert. Michael Schoenboeck schrieb: > Moin, > > Ich frage mich ob folgendes in SQL machbar ist: > > Originalabfrage: > select * from `pix` where id='0815' and usr_name='maxi'"; > > Gibt mir einen datensatz zurück, was auch ok so ist, da ID der > primerschlüssel ist > > Jetzt möchte ich aber auch 5 datensätze passend zu usr_name VOR diesem > datensatz und 5 nach diesem datensatz, sortiert nach datum. > > Das in einer abfrage, wo von mir aus gesamt 10 (11) datensätze geliefert > werden... > > Hm, hat da wer ideen? > > Lg > michael > > -- > Deine Online Community -> http://net4u.cc/ > Chat, Foren, SMS, Mail, Web, Fun & more... > -- Software-Tomography - we make the invisible visible! Jan Kuehl Software-Tomography GmbH Karlstr.7 D-03044 Cottbus e-Mail: jan.kuehl at software-tomography.com http://www.software-tomography.com Phone: +49 (0355) 4945077 ----------------------------
php::bar PHP Wiki - Listenarchive