Witam,
Mam cztery tabele: tab_user, tab_segregator, tab_plik i tab_uprawnienia.
struktura tabel:
#tab_user: id, imię, nazwisko;
#tab_segregator: id, nazwa, id_pliku;
#tab_plik: id, nazwa_pliku;
#tab_uprawnienia: id, id_user, id_segregator, id_plik, u1, u2, u3, typ;
W tab_uprawnienia, w polach [u1],[u2],[u3] zapisywane są uprawnienia w postaci 'TAK' lub 'NIE'. W polu [typ] natomiast: 1, 2 lub 3.
Istnieją trzy możliwości zapisów w tab_uprawnienia:
LP | id_user | id_seg | id_plik | typ
1 | 1 | null | null | 1
2 | 1 | 1 | null | 2
3 | 1 | 1 | 1 | 3
wiersz 1: uprawnienia domyślne danego użytkownika;
wiersz 2: uprawnienia danego użytkownika do danego segregatora i domyślne do plików w określonym segregatorze;
wiersz 3: uprawnienia danego użytkownika do określonego pliku w określonym segregatorze.
I teraz pytanie dotyczące sytuacji 2 i 3:
Jak pobrać spis uprawnień wszystkich użytkowników do wszystkich plików z tabeli [tab_pliki] przypisanych do określonego segregatora, bez względu na to, czy określono id_pliku czy nie?
Do tej pory robiłem to w programie: najpierw - w jednym zapytaniu - pobierałem spis wszystkich plików, potem w pętli pobierałem uprawnienia do pliku (jeśli istnieje typ=3, pobierz uprawnienia z typ=3, jeśli nie istnieje typ=3, pobierz typ=2), i dane z wynikami wrzucałem do raportu.
Teraz, mój kochany szef, zobowiązał mnie, bym dostarczył mu jedno zapytanie, żeby mógł robić sobie raporty w IBExpert.
Będę wdzięczny za odpowiedź.
Pozdrawiam
Tomasz M.