1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
SELECT id, id_profil, date, titre, date
FROM MYTABLE
WHERE id IN(
(SELECT CASE WHEN ISNULL(T.id0) THEN T.id2 ELSE T.id1 END AS selectedID
FROM
(SELECT MYTABLE.id AS id0, id_profil, tnext.id AS id1, tprev.id AS id2
FROM MYTABLE
LEFT JOIN
(SELECT id FROM MYTABLE
WHERE date>NOW() ORDER BY date ASC LIMIT 1) AS tnext ON MYTABLE.id=tnext.id)
INNER JOIN
(SELECT id FROM MYTABLE
WHERE date<NOW() ORDER BY date DESC LIMIT 1) AS tprev ON MYTABLE.id=tprev.id
WHERE MYTABLE.id_profil=X
) AS T
) |
Partager