Děkuji velmi,
na ten "obalovací" SELECT jsem zapoměl. Bohužel jemné niance mezi různými dtb.
Situaci jsem zjednodusil v realu jsou v tech coalesce subSELECTY, neni
to efektivni ani nahodou, ale ta struktura se nacte jen pri spusteni
programu, takze me az tolik netrapi.
Verze jak by to melo vypadat je o dost osklivejsi:
SELECT t1.utvar, (t1.utvar || ' (' || t1.nazev || ')') AS nazev_cely,
COALESCE((select 1 FROM utvary WHERE
utvary.mu=311 AND
utvary.a001=t1.a001), 0) AS user_mzdy,
COALESCE((SELECT 1 FROM utvary WHERE utvary.personal=311 AND
utvary.a001=t1.a001),
(SELECT DISTINCT 1 FROM utvary WHERE utvary.personal_all<>0 AND
utvary.a001=t1.a001), 0) AS user_personal,
COALESCE((SELECT 1 FROM utvary WHERE utvary.pam=311 AND utvary.a001=t1.a001),
(SELECT DISTINCT 1 FROM utvary WHERE utvary.pam_all<>0 AND
utvary.a001=t1.a001), 0) AS user_pam,
COALESCE((SELECT 1 FROM utvary WHERE utvary.hlavni=311 AND
utvary.a001=t1.a001), 0) AS user_hlavni,
COALESCE((SELECT 1 FROM utvary WHERE utvary.sprava=311 AND
utvary.a001=t1.a001), 0) AS user_sprava
FROM utvary t1 WHERE user_MZDY<>0;
Doufam ze se dostanu k tomu co potrebuji, tj. po prihlaseni vybrat k
uzivateli utvary a prava (nektera mohou byt i ve tvaru _all, tj mohou
tu cinnost delat vsichni) jez k tem utvarum ma. Jak se znam, vybral
jsem si nejslozitejsi moznou cestu.
Ted to jen vyladit
MaReK