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