Проект

Общее

Профиль

скрипты для ВУК Кулешов » Объемы КУ для ВУК 2020.sql

Диана Ерёмичева, 20.04.2022 19:08

 
1
drop table #usl
2
create table #usl (period varchar(35), adres varchar(526)
3
, uslname varchar(250), resurs varchar(250), tarifresurs varchar(16), vidpu varchar(1), tarif1 float, edizm varchar(4))
4

    
5
insert into #usl
6
SELECT
7
--CASE WHEN a.code_house IN (SELECT code_house FROM gis_209fz..dogovor d1) AND d.data_po > GETDATE() THEN 'ДУ' ELSE 'ДРСО' END AS tipdog,
8
--dg.code_dog_gis,
9
CAST(otn.mes AS VARCHAR) + '.2021' AS period, r.name + ' '+ rs.name + ', ' + cs.name + ' ' + c.name + ', ' + ss.sname + '. ' + s.name + ' ' +a.number + ', ' + a.flat AS adres,
10
--htf.code_fias, CASE WHEN hg.tip_house = 'ЖДБ' THEN a.flat ELSE '' END AS block, CASE WHEN hg.tip_house = 'МКД' THEN a.flat ELSE '' END AS pom,
11
--CASE WHEN hg.tip_house = 'ЖД' THEN a.flat ELSE '' END AS komn,
12
CASE WHEN usl.kod = 3 THEN 'Отведение сточных вод' ELSE usl.name END uslname,
13
CASE WHEN d.code_house IS NULL AND usl.kod IN (1,19) AND ISNULL(aa.xvoda,h.xvoda)=6 THEN 'Техническая вода'
14
WHEN d.code_house IS NULL and usl.kod IN (1,19) AND ISNULL(aa.xvoda,h.xvoda) IN (1,2,3,4,5) THEN 'Питьевая вода'
15
WHEN d.code_house IS NULL AND usl.kod IN (2,18) AND ISNULL(aa.gvoda,h.gvoda) in (3,4) THEN 'Горячая вода'
16
WHEN d.code_house IS NULL AND usl.kod IN (2,18) AND ISNULL(aa.gvoda,h.gvoda) in (1,2) THEN 'Теплоноситель'
17
WHEN d.code_house IS NULL AND usl.kod = 6 THEN 'Тепловая энергия'
18
WHEN d.code_house IS NULL AND usl.kod = 3 THEN 'Сточные воды' ELSE NULL END AS resurs,
19
CASE WHEN d.code_house IS NOT NULL AND usl.kod IN (1,19) THEN 'Холодная вода'
20
WHEN d.code_house IS NOT NULL AND usl.kod IN (2,18) THEN 'Горячая вода'
21
WHEN d.code_house IS NOT NULL AND usl.kod = 6 THEN 'Тепловая энергия'
22
WHEN d.code_house IS NOT NULL AND usl.kod = 3 THEN 'Сточные воды' ELSE '' END AS tarifresurs,
23
'' AS vidpu, ROUND(SUM(otn.volume),6) as tarif1,
24
-- '' AS tarif2, '' AS tarif3,
25
 CASE WHEN usl.code_ed_izm = 113 THEN 'м3' ELSE
26
CASE WHEN usl.code_ed_izm = 233 THEN 'Гкал' ELSE NULL END END AS edizm
27

    
28
FROM (SELECT [on].kod_Adres, [on].mes, [on].kod_uslugi, [on].kod_postav, [on].volume FROM kv2021..otchet_nach [on]
29
UNION
30
SELECT os.kod_adres, os.mesy, os.kod_uslugi, os.kod_postav, os.volume FROM kv2021..otchet_sn os) otn
31
LEFT JOIN spr..vAdres a ON a.code = otn.kod_Adres
32
LEFT JOIN spr..Houses_to_fias htf ON htf.code_house = a.code_house
33
INNER JOIN gis_209fz..houses_gis hg ON htf.code_fias = hg.code_gis OR htf.code_fias = hg.code_fias
34
LEFT JOIN spr..uslugi u ON u.kod= otn.kod_uslugi
35
LEFT JOIN spr..Streets s ON s.code = a.code_street
36
LEFT JOIN spr..StreetStatus ss ON ss.code = s.code_status
37
LEFT JOIN spr..Cities c ON c.code = s.code_city
38
LEFT JOIN spr..CityStatus cs ON cs.code = c.code_status
39
LEFT JOIN spr..Okrug o ON o.code = c.code_okrug
40
LEFT JOIN spr..OkrugStatus ost ON ost.code = o.code_status
41
LEFT JOIN spr.dbo.Regions r ON o.code_region = r.code
42
LEFT JOIN spr.dbo.RegionStatus rs ON r.code_status = rs.code
43
LEFT JOIN gis_209fz..dogovor d ON d.code_house = a.code_house AND d.data_po > GETDATE()
44
LEFT JOIN gis_209fz..dogovor_gis dg ON dg.code_dog = CASE WHEN d.num_dog IS NULL THEN CAST(a.code_house AS VARCHAR) ELSE d.num_dog END
45
LEFT JOIN gis_209fz..uslugi usl ON usl.kod_kv = otn.kod_uslugi
46
LEFT JOIN spr..postav p ON p.code = otn.kod_postav
47
LEFT JOIN kv2021..Adres_a aa ON aa.code = a.code AND aa.mes = otn.mes
48
LEFT JOIN kv2021..doma_a h ON h.code = a.code_house AND h.mes = otn.mes
49
where/* u.type = 1 AND u.kod <> 68 AND*/ (p.name LIKE '%Верхнеколымская%' or p.name like '%Кулешова%') AND otn.mes=12 -- AND otn.kod_Adres = 7006015001
50
/*AND dg.code_dog_gis =  '65a790d0-d43a-4ed7-be5e-ce5ab906f463'*/
51
GROUP BY otn.kod_Adres,otn.kod_postav, d.data_po, dg.code_dog_gis, otn.mes, r.name, rs.name, cs.name, c.name, ss.sname, s.name,
52
a.number, a.flat, htf.code_fias, hg.tip_house, usl.code_ed_izm, usl.resurs, a.code_house, usl.name, h.xvoda, usl.kod, h.gvoda, aa.xvoda, aa.gvoda, d.code_house
53
ORDER BY period, usl.name
54

    
55

    
56
select * from #usl
57

    
58
--select * from spr..uslugi
(1-1/4)