![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 1 Dołączył: 16.12.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Posiadam listę składającą się z identyfikatora, jakieś nazwy oraz pozycji (w celu sortowania). Do zapytania dołączam 2 kolumny - on_top oraz on_bottom, których celem jest zwrócenie prawdy lub fałszu jeżeli pozycja jest najwyższa (najniższa wartość) lub najniższa (najwyższa wartość). Te dodatkowe kolumny będą służyć mi w celu sprawdzenia, czy dany rekord będzie można przenieść wyżej, bądź niżej. Do tego stosuję takie oto zapytanie:
p - pozycja, t - rekord na górze, b - rekord na dole +----------+ | p | t | b | +----------+ | 1 | 1 | 0 | | 2 | 0 | 0 | | 3 | 0 | 0 | | 4 | 0 | 1 | +----------+ I działa jak powinno. Do tego mam podobną tabelę, z tym, że do każdego rekordu jest dodana grupa. I tutaj pytanie brzmi: jak skonstruować zapytanie, które uczyni mi coś podobnego jak niżej? Chodzi o to, aby wartości 'on_top' i 'on_bottom' ustalane były zależnie zarówno względem pozycji ale i też grupy. g - grupa +--------------+ | g | p | t | b | +--------------+ | 1 | 1 | 1 | 0 | | 1 | 2 | 0 | 0 | | 1 | 3 | 0 | 1 | | 2 | 4 | 1 | 0 | | 2 | 5 | 0 | 0 | | 2 | 6 | 0 | 0 | | 2 | 7 | 0 | 1 | +--------------+ |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 731 Pomógł: 141 Dołączył: 9.05.2011 Skąd: śląskie Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 1 Dołączył: 16.12.2012 Ostrzeżenie: (0%) ![]() ![]() |
Niestety nie działa. W takim przypadku pierwszy rekord wyświetla 'on_top' i 'on_bottom' jako prawdę, reszta fałsz.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 731 Pomógł: 141 Dołączył: 9.05.2011 Skąd: śląskie Ostrzeżenie: (0%) ![]() ![]() |
Rozwiń swoją myśl, bo nie rozumiem. Zerknij tu: http://sqlfiddle.com/#!9/1c38a/7/0
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 1 Dołączył: 16.12.2012 Ostrzeżenie: (0%) ![]() ![]() |
Najwyraźniej gdzieś popełniłem jakąś literówkę. Poprawiłem i wszystko działa jak należy.
Dziękuję uprzejmie za pomoc. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 19:19 |