Evo još jedan upit, sa vrlo osnovnim SQL naredbama:
SELECT a1.ID, a1.dat, b1.ID, b1.dat, a1.dat-b1.dat
FROM abc AS a1, abc AS b1
GROUP BY a1.ID, a1.dat, b1.ID, b1.dat, a1.dat-b1.dat
HAVING a1.dat-b1.dat =(
SELECT max( a.dat-b.dat)
FROM abc AS a, abc AS b
WHERE b.dat=(select max(c.dat) from abc c where c.dat < a.dat)
);
:-)
U gornjem upitu nedostaje jedan red (čudno da niko nije primetio grešku!) tako da upit vraća, osim ispravnih podataka, bilo koji par datuma ako je broj dana između njih jednak maksimalnoj praznini između 2 datuma. Korektan upit je:
SELECT a1.ID, a1.dat, b1.ID, b1.dat, a1.dat-b1.dat
FROM abc AS a1, abc AS b1
WHERE b1.dat=(select max(c.dat) from abc c where c.dat < a1.dat)
GROUP BY a1.ID, a1.dat, b1.ID, b1.dat, a1.dat-b1.dat
HAVING a1.dat-b1.dat =(
SELECT max( a.dat-b.dat)
FROM abc AS a, abc AS b
WHERE b.dat=(select max(c.dat) from abc c where c.dat < a.dat)
);
[Ovu poruku je menjao Fitopatolog dana 27.04.2008. u 10:12 GMT+1]
Bolje prirodna glupost nego veštačka inteligencija.