Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Subselect mysql prośba o pomoc
Forum PHP.pl > Forum > Bazy danych > MySQL
kiciafu
Witam,

Nie mogę sobie poradzić z problemem. Stworzyłem sobie widok który składa się z 4 pól:

id_zdarzenia,
ile_dni,
id_listy,
id_osoby,

Sytuacja jest taka: do każdego zdarzenia przyporządkowana jest określona liczba list (tyle ile trwa zdarzenie), a na każdej liście jest określona liczba uczestników (id_osoby). Jeżeli w tabeli zdarzeń jest informacja, że trwa 3 dni to w tabeli listy powinny być trzy listy dla tego zdarzenia (udało mi się napisać zapytanie, które zwraca te zdarzenia dla których ta zależność nie zachodzi). Chcę wybrać z tabeli (widoku) te osoby, które figurują na wszystkich listach dla danego zdarzenia czyli mają 100% frekwencje w zdarzeniu,

proszę o jakieś sugestie jak to osiągnąć
thek
A nie pomyślałeś o logice? Join zdarzeń z listami obecności z wybraniem określonego zdarzenia. Potem grupujesz po id osoby i zliczasz liczbę wystąpień. Skoro wiesz ile dni trwa zdarzenie to potem tylko te wartości porównasz. Nie znam dokładnej struktury tabel, więc tylko tyle mogę powiedzieć.
kiciafu
hej dzięki za zainteresowanie moim dziwnym problemem

widok po złączeniach wygląda tak jak na tym obrazku:



Co ta tabela reprezentuje...

Osoba o id = 1 jest wpisana na pierwszej liście i na drugiej liście ze zdarzenia o id = 1 zdarzenie trwa 2 dni a liczba list zawsze jest równa liczbie dni zdarzenia. To oznacza że id_os = 1 jest zapisana na wszystkich listach tego zdarzenia. Osoba o id = 2 tego warunku nie spełnia bo ma zapis tylko na jednej liście ze zdarzenia 2 dniowego. Osoba 3 oraz 4 też spełniają warunek no i 5 nie. Chodzi mi o takie zapytanie, które z tego widoku pobierze tylko te id_os z kompletnymi wpisami, innymi słowy zwróci mi: 1, 3, 4. Zrobiłem do tego widok bo wydawało mi się, że z jednej tabeli łatwiej będzie pobrać dane jak tak się nie da to wrzucę całą strukturę kawałka bazy
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.