Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Następny i poprzedni rekord, UNION nie działa, jak to rozwiązać?
WebCM
post 19.02.2010, 17:33:41
Post #1





Grupa: Zarejestrowani
Postów: 375
Pomógł: 20
Dołączył: 28.07.2006

Ostrzeżenie: (0%)
-----


  1. SELECT
  2. ID,name
  3. FROM
  4. obrazy
  5. WHERE
  6. ID < 999
  7. ORDER BY
  8. ID DESC LIMIT 1
  9. UNION
  10. SELECT
  11. ID,name
  12. FROM
  13. obrazy
  14. WHERE
  15. ID > 999
  16. ORDER BY
  17. ID LIMIT 1

SQLite twierdzi, że ORDER BY powinien znaleźć się dopiero po słowie UNION. Nic nie daje użycie UNION ALL i wzięcie tych 2 zapytań w nawiasy. Czy pozostaje wysyłać 2 oddzielne zapytania?

Może są inne metody na wyciągnięcie poprzedniego i kolejnego rekordu z bazy danych w 1 zapytaniu?

Zapytanie musi działać w SQLite i MySQL.

Poza tym można podpinać do ORDER BY? W SQLite nie ma błędu, ale i reakcji.
Kod
$x = $db->prepare('SELECT ID,name FROM obrazy WHERE ID<4 ORDER BY :test LIMIT 1');
$x->bindValue(':test','ID DESC');
$x->execute();
Niezależnie od tego, czy podepnę ID DESC, czy ID, otrzymuję ten sam rekord, choć powinien pojawić się inny.

Właściwie zależy mi na pobraniu:
- poprzedniego obrazu, a gdy nie ma - ostatniego
- następnego obrazu, a gdy nie ma - pierwszego

Wysyłając nawet 2 osobne zapytania dla "poprzedni" i "następny", jaki warunek postawić, aby pobrać ostatni rekord, gdy nie znajdzie poprzedniego - tak jak napisałem powyżej?


--------------------
„Jesteśmy różni, pochodzimy z różnych stron Polski, mamy różne zainteresowania, ale łączy nas jeden cel. Cel ten to Ojczyna, dla której chcemy żyć i pracować.” Roman Dmowski
Go to the top of the page
+Quote Post
Riklaunim
post 20.02.2010, 04:27:07
Post #2





Grupa: Zarejestrowani
Postów: 640
Pomógł: 44
Dołączył: 8.02.2004

Ostrzeżenie: (0%)
-----


Pobrać 3 od ID - 1


--------------------
Biblioteki: Skrypty, CMS | Kurs PHP | Python
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.06.2024 - 02:19