Untitled

mail@pastecode.io avatarunknown
sql
a month ago
2.3 kB
2
Indexable
Never
select 
ts.nazwa+' '+cast(s.nr_sprawy as varchar(9))+'/'+right(cast(s.rok_sprawy as char(4)),2) as sygnatura,
rtrim(ISNULL(ud.nazwa_1, '')+' '+ISNULL(ud.nazwa_2, '')+' '+ISNULL(ud.nazwa_3, '')) as nazwa_dluznika,
rtrim(ISNULL(b.nazwa_banku_1, '')+' '+ISNULL(b.nazwa_banku_2, '')) as nazwa_banku,
--d.ident,s.ident,kd.ident, -- do debuga :p
case 
when kd.ident in -- sprawzam w subkłery zajętych banków czy bank ktory patrze jest zajety czy nie
(
SELECT kd.ident FROM pismo_zajecie as pz 
JOIN adresat_pisma as ap on ap.ident =pz.id_adresata_pisma 
JOIN pismo as p on p.ident =ap.id_pisma 
JOIN czynnosc as c on p.id_czynnosci =c.ident 
JOIN czynnosc_dluznika as cd on cd.id_czynnosci=c.ident 
JOIN konto_bankowe as kb on kb.ident=pz.id_konta_bankowego
JOIN konto_dluznika as kd on kd.id_konta_bankowego=kb.ident
WHERE c.id_sprawy = s.ident and cd.id_dluznika= d.ident
and (pz.typ_kir='5101' or pz.typ_kir='5103' or pz.typ_kir='5105' or pz.typ_kir='5110' or pz.typ_kir='5109')  -- dodałem uchylenie 
)
then 'zajęty ;('
else 'Rób Zajęcie! ;)'
end as status


-- pobieram wszystkich dłużników co mają konto bankowe 
from sprawa as s 
join dluznik as d on d.id_sprawy=s.ident
join uczestnik as ud on ud.ident=d.id_uczestnika
join konto_dluznika as kd on kd.id_dluznika=d.ident
join konto_bankowe as kb on kb.ident=kd.id_konta_bankowego
join bank as b on b.ident=kb.id_banku
join typy_spraw as ts on ts.ident=s.typ_sprawy
where 
(s.stan_aktualny<=70 or s.stan_aktualny=240 or s.stan_aktualny=300) and s.stan_dodatkowy IS null -- sprawa musi być czynna
and  (isnull(s.stan_aktualny,0)<>100 and isnull(s.stan_dodatkowy,0)<>100) --aktualny stan to nie zawieszona
and ud.data_koncowa is null -- dłużnik żyje i ma się dobrze
and kd.data_koncowa is null -- konto bankowe nie jest zlikwidowane
and 'rachunków bankowych' in -- czy jest sposob egzekucji (czasami sie klienci rzucają że nie czeba ale huj tam)
(SELECT sy.nazwa
FROM sposoby_egzekucji as sy
JOIN sposob_egzekucji as sb ON sy.ident=sb.sposob_egzekucji
where sb.id_sprawy = s.ident)
order by
s.rok_sprawy,
CASE
WHEN s.typ_sprawy=1 then 2
WHEN s.typ_sprawy=2 then 1
WHEN s.typ_sprawy=3 then 3
WHEN s.typ_sprawy=7 then 4
WHEN s.typ_sprawy=4 then 5
WHEN s.typ_sprawy=5 then 6
end,
s.nr_sprawy