![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 86 Pomógł: 6 Dołączył: 31.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam do przerobienia pewien skrypt, który niestety ja nie robiłem.
W bazie jest następująca tabela (wersja okrojona): nazwa tabeli: oferty kolumny: idoferty, max_l_osob,...,idobiektu Oferta ma zapisany idobiektu (czyli id do tabeli na np.jakis pensjonat itp). max_l_osob jest to maksymalna liczba osob jakie mogą zarezerwować tę ofertę. I teraz tak: na stronie jest wyszukiwarka, dla której zapytanie poberające te oferty ma ponad 70linijek ;/ i chyba z 10 inner joinów itp dlatego niechciałbym tutaj całego zapytania wrzucać, ale mam następujący problem: oferty sortowane są po idobiektu i jak pobrać tylko te oferty, których suma max_l_osob dla ofert o tym samym idobiektu! będzie miała, np. co najmniej 10? Czyli np. teraz wyświetla oferty tak - sortując po idobiektu: idoferty; max_l_osob; idobiektu 1 4 10 2 2 10 3 3 10 4 7 27 5 3 27 6 9 250 I jeśli szukamy ofert z takimi samymi obiektami co mają co najmniej 10 miejsc to wyświetli oferty o idoferty: 4 i 5. Wiem, że można używać podzapytań w postgresie ale jest w tym zapytaniu dużo warunków i inner joinów, że nie wiem za bardzo jak je w takie podzapytanie zliczające te miejsca upchnąć. Czy da się to jakoś w miarę 'gładko' zrobić? Jak będziecie chcieli to mogę wrzucić przykładowe zapytanie. Ten post edytował rasten 30.11.2010, 17:56:00 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 142 Pomógł: 28 Dołączył: 7.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 86 Pomógł: 6 Dołączył: 31.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
Sorry, że dopiero teraz odpisuję, ale zająłem się innym modułem:) Działa dobrze, tylko zamieniłem '=' na 'IN'. Dzięki za pomoc.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 19:49 |