![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 52 Pomógł: 0 Dołączył: 11.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
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ąć |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
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ć.
-------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 52 Pomógł: 0 Dołączył: 11.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
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 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 10:28 |