[ zgas @ 27.08.2007. 08:54 ] @
Imam tabelu sa kolonom datuma. Tatumi nisu kontinuirani vec je razlika u njima i po nekoliko dana i to bez odredjenog pravila.

Potrebano je da iz baze izvucem tri datuma u odnosu na danasnji dan.

To jest: Potreban mi je najblizi PREDHODNI datum u odnosu na danasnji datum, i DVA SLEDECA najbliza datuma u odnosu na danasnji datum.

Da li je to moguce uraditi nekako sa jednim querijem? Pokusavam da vidim ali ne mogu...

Molim za pomoc ili predlog.
[ broker @ 27.08.2007. 11:14 ] @
Milsim da ne moze samo sa jednim upitom. Treba prvo danarpavis jedan upit da nadjes odgovarajuci prethodni datum, a onda drugi upit kojim ces izdvojiti datume pocev od tog prethodnog.
[ zgas @ 27.08.2007. 11:42 ] @
>
Da... Nadao sam se da moze nekako sa jednim upitom.

Hvala.
[ chachka @ 27.08.2007. 11:44 ] @
Code:

SELECT datum
  FROM tabela        
 WHERE datum <> CURRENT_DATE
 GROUP BY datum
 ORDER BY datum DESC
 LIMIT 3
[ zgas @ 27.08.2007. 12:20 ] @
[ chachka @ 27.08.2007. 12:32 ] @
@zgas: no comment!? :)
[ broker @ 27.08.2007. 13:32 ] @
Chacka, sta ako u tabeli ima pet slogova sa datumom starijim od trazenog? Ovaj tvoj upit ce da vrati prva tri, a ne jedan stariji i dva novija od trazenog datuma.
[ chachka @ 27.08.2007. 13:42 ] @
E pa nisam tako svatio :)

Ako je tako onda:
Code:

(SELECT datum
   FROM tabela        
  WHERE datum < CURRENT_DATE
  GROUP BY datum
  ORDER BY datum DESC
  LIMIT 1
)
UNION ALL
(SELECT datum
   FROM tabela        
  WHERE datum > CURRENT_DATE
  GROUP BY datum
  ORDER BY datum
  LIMIT 2
 )