![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 262 Pomógł: 3 Dołączył: 18.10.2009 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Witam.
2 dni temu walczyłem z jednym podzapytaniem i mi się udało. Niestety w momencie, kiedy dodaje drugie podzapytanie mysql bije wszelkie rekordy w długości zapytań mam taką tabelę:
Łączącą pacjenta z lekarzem, który się nim opiekuje. Oczywiście może występować sytuacja, kiedy jeden pacjent "przypisany" jest do więcej niż jednego lekarza. Na to znalazłem sposób:
Ale w momencie kiedy mam sytuację, ze jednej pacjent jest pod opieką więcej niż dwóch lekarzy wówczas zaczyna się problem. Idąc za taką logiką rozumowania zrobiłem następujące pytanie:
tutaj niestety już jest poważny problem, bo pytanie wykonuje się ponad 80 s. Oczywiście jest to niedopuszczalne. Zresztą nie było pożądanego efektu. Kombinowałem z IFem, gdzie 4 kolumna miała wyglądać następująco
ale to też niestety na nic. Kiedy dodaje group by id_pac w tym podzapytaniu, pytanie wykonywało się w nieskończoność zresztą bezskutecznie. Potrzebuję zrobić zapytanie gdzie będzie mi sprawdzał do 5 lekarzy u pacjentów. Nie chodzi mi oczywiście o rozwiązanie tylko o pomoc gdzie można jeszcze szukać lub gdzie popełniam błąd w rozumowaniu |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 262 Pomógł: 3 Dołączył: 18.10.2009 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
podam jeszcze, że explain wyrzuca mi coś takiego przy tym pytaniu
"id";"select_type";"table";"type";"possible_keys";"key";"key_len";"ref";"rows";"Extra" "1";"PRIMARY";"<derived4>";"ALL";NULL;NULL;NULL;NULL;"11";"" "4";"DERIVED";"lek_pac";"ALL";NULL;NULL;NULL;NULL;"6820";"Using temporary; Using filesort" "3";"DEPENDENT SUBQUERY";"lek_pac";"ALL";NULL;NULL;NULL;NULL;"6820";"Using where" "2";"DEPENDENT SUBQUERY";"lek_pac";"ALL";NULL;NULL;NULL;NULL;"6820";"Using where" Doszedłem w końcu do takiego pytania:
No właśnie pokazuje mi 4 kolumnę, wszytko niby działa, ale nie pokazuje żądanego wyniku ( kolumnie 4 same null). Już nie wiem gdzie popełniam błąd. Wygląda to tak jakby nie traktował warunków w sposób prawidłowy. Ten post edytował jacusek 21.07.2011, 10:42:47 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 07:35 |