![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 14.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Chciałbym Was prosić o pomoc z zapytaniem. Mam bazę o mniej więcej takiej strukturze relacji: OWNER * - * CAR Dane wejściowe to zbiór id'ków samochodów. Zapytanie ma pobierać tych właścicieli, którzy posiadają każdy ((IMG:style_emoticons/default/exclamation.gif) ) z samochodów, który zawarty jest w podanym zbiorze. Czyli np. - właściciel WA posiada samochody CA i CB, a WB posiada tylko CA - wywołanie zapytania pobierzWłaścicieli( array(CA.id, CB.id) ) musi dać w wyniku tylko WA - nie można więc użyć struktury WHERE id IN , po w wyniku dostalibyśmy też WB (a przynajmniej ja nie wiem jakby się miała ona przydać) Ten post edytował barry853 6.02.2011, 12:17:34 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 87 Pomógł: 12 Dołączył: 31.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Zakładając że masz takie tabele:
Z takimi danymi wejściowymi:
To twoje zadanie rozwiąże funkcja:
Wywołanie funkcji:
W tabeli posiadanie masz przypisania właściciel -> samochód. Funkcja pobiera dane wejściowe w postaci tablicy, sprawdza ilość podanych "samochodów", składa identyfikatory w tablicę którą może zczytać sql. Generalnie cały problem rozwiązuje warunek having. Pozdrawiam. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 09:34 |