On Thu, 2006-10-12 at 01:07 +0200, acze wrote:

> chodzenie po wode przez most? ;)

IMHO trochę tak. To co jest Ci potrzebne, to predykat odnoszący się do
poprzedniego lub następnego elementu. Ale co w tym przypadku znaczy
poprzednik/następnik? Jak go określić? Coś mi się zdaje, że z punktu
widzenia logiki, trzeba by się odnieść do higher order logic, a nie
sądzę, żeby jakikolwiek silnik SQL potrafił sobie z tym poradzić. Swoją
drogą ciekawy temat na jakąś pracę naukową. :)

No ale da się rozwiązać problem pozostając na poziomie logik pierwszego
rzędu. :) Wczoraj zainteresowany Twoim problemem przeczytałem, że w
oracle istnieje tzw. funkcja analityczna "lag":

select ID from
  (select ID, lag(ID) over (order by ID) as PREVIOUS_ID from CIASTECZKA)
  where ID <> (PREVIOUS_ID + 1);

Sprawdzone, działa. Zwraca te id, które poprzedza "dziura" w numeracji.
Nie wiem czy takie rzeczy są zaimplementowane w MySQL. można jeszcze
kombinować robiąc joina tabeli z nią samą.

-- 
"Meaning is differential not referential"

Kazimierz Pogoda
Nordic Consulting & Development Company         http://www.ncdc.pl/

Odpowiedź listem elektroniczym