Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> problem z zapytaniem zagnieżdzonym
sokot
post
Post #1





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 26.01.2005

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


Witam wszystkich,

Mam problem z zapytaniem sqlowym pisanym w phpie, mianowicie wygląda ono tak

  1. <?php
  2. $servis_q = "select sc.id,
  3.                         sc.customer_firstname,
  4.                         sc.customer_lastname,
  5.                                             sh.modifier
  6.    
  7.                     from " . TABLE_SERVICES_CALENDAR . " sc,
  8.  
  9.                         " . TABLE_SERVICES_HISTORY . " sh,
  10.  
  11.                     WHERE sc.id = sh.service_id
  12.                            AND sh.status = '1'
  13.                            AND sh.service_status = ss.id
  14.                         AND sh.modifier IN (select subsh.modifier
  15.                                                 from " . TABLE_SERVICES_HISTORY . " subsh
  16.                                                  WHERE sc.id = subsh.service_id
  17.                                             SORT DESC subsh.date_modify LIMIT 1)
  18.                 ORDER BY sc.id DESC";
  19. ?>


Mianowicie zapytanie działa ale gdy omijam kod z zapytaniem zagnieżdzonym, nie wiem jak wymusić wyciąganie rekordu ale z najstarsza datą jego wprowadzenia linia "SORT DESC sh.date_modify LIMIT 1" to mi niestety niedziała i nie wiem jak to ugryźć.
Z góry dzięki za pomoc

Ten post edytował sokot 3.03.2009, 15:06:52
Go to the top of the page
+Quote Post
bełdzio
post
Post #2





Grupa: Zarejestrowani
Postów: 690
Pomógł: 81
Dołączył: 6.04.2005
Skąd: Szczecin

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


zerknij na funkcje MAX( ) => http://dev.mysql.com/doc/refman/4.1/en/gro...ml#function_max
Go to the top of the page
+Quote Post
JoShiMa
post
Post #3





Grupa: Zarejestrowani
Postów: 1 374
Pomógł: 149
Dołączył: 1.03.2006

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


a dlaczego w podzapytaniu, gdzie tabela ma alias 'subsh' sortujesz po 'sh.date_modify'? Nie powinienes sortowac po 'subsh.date_modify' ? Aha. Zauważyłam, że dobrym zwyczajem jest uzywanie AS, kiedy się robi aliasy do tabel, czasem bez tego AS nie chciało mi działać.

  1. ... FROM " . TABLE_SERVICES_CALENDAR . " AS sc ...
Go to the top of the page
+Quote Post
sokot
post
Post #4





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 26.01.2005

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


Oczywiście masz racje moja pomyłka ale jedynie w pisaniu posta bo i w kodzie mam poprawnie juz zmieniam.

Trochę zmieniłem problematyczną linie na: "ORDER BY subsh.date_modify LIMIT 1" to dostałem taki oto komunikat:

1235 - This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'

Rozumiem jesgo treść tylko jak mogę zatem wykonać to sortowanie z podzapytania, jeśli pomijam LIMIT 1 nie ma błędu ale wyciąga mi rekord pierwszy jaki wpadnie (IMG:http://forum.php.pl/style_emoticons/default/sciana.gif) (IMG:http://forum.php.pl/style_emoticons/default/sciana.gif) (IMG:http://forum.php.pl/style_emoticons/default/sciana.gif)
Go to the top of the page
+Quote Post

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: 23.12.2025 - 18:26