![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 2 Dołączył: 4.07.2009 Skąd: Zamość Ostrzeżenie: (0%) ![]() ![]() |
Witam
Posłużę się przykładem, posiadam taką tabelkę:
Za cel stawiam sobie odczytanie sąsiednich wierszy (sąsiednich względem wartości pola sequence) powiedzmy dla id=3 (oczywiście przy założeniu, że id mogą być "nie po kolei"). Chciałbym poprosić o sprawdzenie, a może podpowiedzenie innego efektywniejszego sposobu na osiągnięcie mojego celu. Mój dotychczasowy rezultat:
Struktura tabeli w razie potrzeby, stworzona tylko w celu przetestowania idei opisanej wyżej.
Ten post edytował djlinux 9.08.2010, 09:42:38 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Zasadnicze pytanie... czy sequence ma szansę zostać odwrócone wzgledem kolejności id? Może prościej... czy może zajść sytuacja, że rekord o mniejszym id od wybranego ma wyższą sequence lub rekord o wyższym id ma ją niższą? Jeśli nie to nie ma sensu walić podzapytania tylko od razu wziąć WHERE id < 3 w pierwszym członie i WHERE id > 3 w drugim członie UNIONa (IMG:style_emoticons/default/smile.gif) Redukujesz wtedy podzapytanie niepotrzebne, które i tak jest bez znaczenia wtedy. Zresztą sam zobacz czy wyniki tego
są identyczne. W razie czego zamiast ORDER BY id daj ORDER by sequence i porównaj wyniki. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 09:56 |