1

Temat: Pokaż rekordy w zależności od ilości dostępnych

Mam tabele użytkownicy
id_user, id_sch_org_komorka
oraz tabele sch_org_komorka
id_sch_org_komorka, etaty

Są etaty 1 osobowe i kilkuosobowe.
Jak ograniczyć wyświetlanie komórek organizacyjnych przy dodawaniu nowego użytkownika, jeżeli ilość etatów dla danej komórki jest 1 a już jest dodany użytkownik z tej komórki - w takim wypadku nie powinna się już ta komórka wyświetlać.

2

Odp: Pokaż rekordy w zależności od ilości dostępnych

Nie wiem czy dobrze cię zrozumiałem - założyłem że chodzi Ci o wykaz komórek które nie mają jeszcze wyczerpanych wszystkich etatów,
Można to zrobić na kilka sposobów np tak
with uzytkownicy (id_user, id_sch_org_komorka) as
(values(1,1),(2,1),(3,2))
,sch_org_komorka (id_sch_org_komorka, etaty) as
(values (1,3),(2,1),(3,2))
select s.id_sch_org_komorka
from sch_org_komorka s
left join uzytkownicy u on u.id_sch_org_komorka=s.id_sch_org_komorka
group by s.id_sch_org_komorka,s.etaty
having s.etaty > count (u.id_user);

3

Odp: Pokaż rekordy w zależności od ilości dostępnych

Tak, dokładnie o to mi chodziło.
Działa.