Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP i MySQL] Czy da się połączyć te dwa zapytania w jedno?
miedzna
post
Post #1





Grupa: Zarejestrowani
Postów: 401
Pomógł: 1
Dołączył: 10.03.2004
Skąd: Warszawa

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


Nie wiem, jak i czy w ogóle da się połączyć te dwa zapytania w jedno?
Chcę osiagnąć cel: wyciągnąć dane gościa, który ma najwięcej punktów. Jeżeli sa tacy, co mają identyczną liczbę punktów, chcę wyciągnąc z bazy tego, co zgłosił punkt jako ostatni.

Wykonuje najpierw zapytanie do tabeli, która trzyma ID usera, liczbę zdobytych przez niego punktów, oraz datę ostatniego zgłoszenia się w celu wyciagnięcia największej liczby punktów:

  1. <?php
  2. $max = mysql_fetch_array(mysql_query("SELECT MAX(punkty) FROM punktacja"));
  3. ?>



a następnie wykonuję zapytanie, w celu wyciagnięcia z bazy tego, co ma najwięcej punktów. Jak widać w warunku WHERE zastosowałem sprawdzanie, czy ten user ma rzeczywiście największa liczbę, ale korzystając z wyniku poprzedniego zapytania:

  1. <?php
  2. $sortowanie = "SELECT du.nazwisko, du.imie, p.punkty, p.ostatniPunkt FROM dane_uczestnika 
    du, punktacja p WHERE p.punkty = '"
    .$max[0]."' AND p.dane_uczestnika_id = du.id ORDER BY p.ostatniPunkt DESC LIMIT 0,1";
  3. ?>


Nie podoba mi się to, że wykonuję 2 zapytania, da się to jakoś złożyć w jedno?

Dzięki
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
nexis
post
Post #2





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

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


  1. SELECT u.nazwisko, u.imie FROM punktacja AS p LEFT JOIN dane_uczestnika AS u ON (p.dane_uczestnika_id = u.id) ORDER BY p.punkty DESC, p.ostatniPunkt DESC LIMIT 1


--------------------
Zend Certified Engineer

Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
Go to the top of the page
+Quote Post
miedzna
post
Post #3





Grupa: Zarejestrowani
Postów: 401
Pomógł: 1
Dołączył: 10.03.2004
Skąd: Warszawa

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


Otóż to, dzięki za szybkość i za odpowiedź smile.gif

Pozdrawiam
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 Aktualny czas: 21.08.2025 - 18:50