Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wiele rekordów, wiele warunków z jednej tabeli jednym select-em?
vuq
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 11.07.2005

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


Panowie mam pytanie;

Czy da się połączyć do jednego zapytania takie klika zapytań z wieloma warunkami:

SELECT pozycja FROM pozycje WHERE id_domeny=272 AND id_slowa=9395 ORDER BY data DESC LIMIT 1,1;
SELECT pozycja FROM pozycje WHERE id_domeny=272 AND id_slowa=9395 AND data < DATE_SUB( NOW() , INTERVAL 1 WEEK ) ORDER BY data DESC LIMIT 1;
SELECT pozycja FROM pozycje WHERE id_domeny=272 AND id_slowa=9395 AND data < DATE_SUB( NOW() , INTERVAL 2 WEEK ) ORDER BY data DESC LIMIT 1;
SELECT pozycja FROM pozycje WHERE id_domeny=272 AND id_slowa=9395 AND data < DATE_SUB( NOW() , INTERVAL 3 WEEK ) ORDER BY data DESC LIMIT 1;
SELECT pozycja FROM pozycje WHERE id_domeny=272 AND id_slowa=9395 AND data < DATE_SUB( NOW() , INTERVAL 1 MONTH ) ORDER BY data DESC LIMIT 1;
SELECT pozycja FROM pozycje WHERE id_domeny=272 AND id_slowa=9395 AND data < DATE_SUB( NOW() , INTERVAL 2 MONTH ) ORDER BY data DESC LIMIT 1;
SELECT pozycja FROM pozycje WHERE id_domeny=272 AND id_slowa=9395 AND data < DATE_SUB( NOW() , INTERVAL 3 MONTH ) ORDER BY data DESC LIMIT 1;
SELECT pozycja FROM pozycje WHERE id_domeny=272 AND id_slowa=9395 AND data < DATE_SUB( NOW() , INTERVAL 5 MONTH ) ORDER BY data DESC LIMIT 1;
SELECT pozycja FROM pozycje WHERE id_domeny=272 AND id_slowa=9395 AND data < DATE_SUB( NOW() , INTERVAL 6 MONTH ) ORDER BY data DESC LIMIT 1;

Chce wyciągnąć to wszystko za jednym razem.

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Dostałeś przecież rozwiązanie...

  1. SELECT pozycja FROM pozycje WHERE id_domeny=272 AND id_slowa=9395 ORDER BY DATA DESC LIMIT 1,1
  2. UNION
  3. SELECT pozycja FROM pozycje WHERE id_domeny=272 AND id_slowa=9395 AND DATA < DATE_SUB( NOW() , INTERVAL 1 WEEK ) ORDER BY DATA DESC LIMIT 1
  4. UNION
  5. SELECT pozycja FROM pozycje WHERE id_domeny=272 AND id_slowa=9395 AND DATA < DATE_SUB( NOW() , INTERVAL 2 WEEK ) ORDER BY DATA DESC LIMIT 1
  6. UNION
  7. SELECT pozycja FROM pozycje WHERE id_domeny=272 AND id_slowa=9395 AND DATA < DATE_SUB( NOW() , INTERVAL 3 WEEK ) ORDER BY DATA DESC LIMIT 1
  8. UNION
  9. SELECT pozycja FROM pozycje WHERE id_domeny=272 AND id_slowa=9395 AND DATA < DATE_SUB( NOW() , INTERVAL 1 MONTH ) ORDER BY DATA DESC LIMIT 1
  10. UNION
  11. SELECT pozycja FROM pozycje WHERE id_domeny=272 AND id_slowa=9395 AND DATA < DATE_SUB( NOW() , INTERVAL 2 MONTH ) ORDER BY DATA DESC LIMIT 1
  12. UNION
  13. SELECT pozycja FROM pozycje WHERE id_domeny=272 AND id_slowa=9395 AND DATA < DATE_SUB( NOW() , INTERVAL 3 MONTH ) ORDER BY DATA DESC LIMIT 1
  14. UNION
  15. SELECT pozycja FROM pozycje WHERE id_domeny=272 AND id_slowa=9395 AND DATA < DATE_SUB( NOW() , INTERVAL 5 MONTH ) ORDER BY DATA DESC LIMIT 1
  16. UNION
  17. SELECT pozycja FROM pozycje WHERE id_domeny=272 AND id_slowa=9395 AND DATA < DATE_SUB( NOW() , INTERVAL 6 MONTH ) ORDER BY DATA DESC LIMIT 1;


I masz 1 zapytanie.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 15.10.2025 - 20:46