01.12.2010, 06:40 | #1 |
Пользователь
Регистрация: 09.08.2010
Сообщений: 15
Благодарности: 0
Поблагодарили 0
раз(а) в 0 сообщениях
Обратиться по нику Цитата выделенного |
Здравствуйте.
Помогите, написать запрос ,гуру ПК СП. Условие запроса выглядит так, выбрать суммы по ИС, налог - сущность 1/13/32,33,35,36, штраф - сущность 1/22/37,38,41,42,44,45,46 с разбивкой по приставам, с возможностью выбирать на определенную дату, примерно, как реализовано в этой теме /showthread.php?t=174896 |
В Минюст Цитата Спасибо |
01.12.2010, 09:15 | #2 |
Модератор раздела
Регистрация: 03.03.2009
Сообщений: 151
Благодарности: 0
Поблагодарили 45
раз(а) в 45 сообщениях
Обратиться по нику Цитата выделенного |
и что не получается?
|
В Минюст Цитата Спасибо |
01.12.2010, 12:20 | #3 |
Пользователь
Регистрация: 09.08.2010
Сообщений: 15
Благодарности: 0
Поблагодарили 0
раз(а) в 0 сообщениях
Обратиться по нику Цитата выделенного |
по ИС вроде как получилось
Код:
select ip.fio_spi, count (ip.pk), sum (ip2.fakt_sum_is) from (ip left outer join ip ip2 on (ip.pk=ip2.pk) and (ip.DATE_IP_IN > '29.12.2009') and (ip.DATE_IP_IN <'24.11.2010')) where (ip.fakt_sum_is is not null) group by ip.fio_spi |
В Минюст Цитата Спасибо |
01.12.2010, 12:35 | #4 |
Модератор раздела
Регистрация: 03.03.2009
Сообщений: 151
Благодарности: 0
Поблагодарили 45
раз(а) в 45 сообщениях
Обратиться по нику Цитата выделенного |
да ети мать, и ты туда же
Код:
select ip.fio_spi, sum(case when <условияштрафы1> then 1 else 0 end) as cntfine1, sum(case when <условияштрафы1> then ip.sum else 0 end) as sumfine1 sum(case when <условияштрафы2> then 1 else 0 end) as cnt2, sum(case when <условияштрафы2> then ip.sum else 0 end) as sumfine2 from ip where ... group by 1 |
В Минюст Цитата Спасибо |
01.12.2010, 12:36 | #5 |
Модератор ФССП
Регистрация: 16.01.2009
Адрес: Россия / /
Сообщений: 3,373
Благодарности: 153
Поблагодарили 548
раз(а) в 528 сообщениях
Обратиться по нику Цитата выделенного |
сумма сбора - что нужно - вынесенная, взысканная, перечисленная ? это все разное таки да.... точнее условия ставьте, иначе не помочь просто...
__________________
Yo Way Yo, Home Va-Ray, Yo Ay-Rah, Jerhume Brunnen-G |
В Минюст Цитата Спасибо |
01.12.2010, 13:08 | #6 |
Пользователь
Регистрация: 09.08.2010
Сообщений: 15
Благодарности: 0
Поблагодарили 0
раз(а) в 0 сообщениях
Обратиться по нику Цитата выделенного |
|
В Минюст Цитата Спасибо |
03.12.2010, 09:02 | #7 | |
Пользователь
Регистрация: 09.08.2010
Сообщений: 15
Благодарности: 0
Поблагодарили 0
раз(а) в 0 сообщениях
Обратиться по нику Цитата выделенного |
Цитата:
как правильно сделать условие ? (ip.sisp_key containing "/1/22/37") так по сути отберем необходимую нам сущность where (ip.fakt_sum_is is not null) здесь возьмем все суммы |
|
В Минюст Цитата Спасибо |
03.12.2010, 13:10 | #8 |
Модератор раздела
Регистрация: 03.03.2009
Сообщений: 151
Благодарности: 0
Поблагодарили 45
раз(а) в 45 сообщениях
Обратиться по нику Цитата выделенного |
Для примера. Запрос старый, условия возможно неверные.
Код:
select ip.fio_spi as pristav, sum(case when ip.date_ip_in < cast('01.01.20'||s_subdividings.sd_year as date) then 1 else 0 end) as ostatok_period_start, sum(case when ip.date_ip_in between :start and :finish then 1 else 0 end) as vozbuzhdeno, sum(case when ip.date_ip_in < :finish then 1 else 0 end) as na_ispolnenii, sum(case when ip.date_ip_out between :start and :finish then 1 else 0 end) as okoncheno, coalesce(sum(case when ip.date_ip_in between :start and :finish then 1 else 0 end), 0) - coalesce(sum(case when ip.date_ip_out between :start and :finish then 1 else 0 end), 0) as raznost, sum(case when ip.date_ip_out is null then 1 else 0 end) as ostatok, sum(case when ip.date_ip_out between :start and :finish and ip.num_pp = 1 then 1 else 0 end) as punkt1, sum(case when ip.date_ip_out between :start and :finish and ip.num_pp = 1 and ip.solid_num = 1 then ip.main_dolg else 0 end) as sum_punkt1, sum(case when ip.date_ip_out between :start and :finish and ip.num_pp = 2 then 1 else 0 end) as punkt2, sum(case when ip.date_ip_out between :start and :finish and ip.num_pp = 2 and ip.solid_num = 1 then ip.sum_ else 0 end) as sum_punkt2, sum(case when ip.date_ip_out between :start and :finish and ip.num_pp = 3 then 1 else 0 end) as punkt3, sum(case when ip.date_ip_out between :start and :finish and ip.num_pp = 3 and ip.solid_num = 1 then ip.sum_ else 0 end) as sum_punkt3, sum(case when ip.date_ip_out between :start and :finish and ip.num_pp = 4 then 1 else 0 end) as punkt4, sum(case when ip.date_ip_out between :start and :finish and ip.num_pp = 4 and ip.solid_num = 1 then ip.sum_ else 0 end) as sum_punkt4, sum(case when ip.date_ip_out between :start and :finish and ip.num_pp = 5 then 1 else 0 end) as punkt5, sum(case when ip.date_ip_out between :start and :finish and ip.num_pp = 5 and ip.solid_num = 1 then ip.sum_ else 0 end) as sum_punkt5, sum(case when ip.date_ip_out between :start and :finish and ip.num_pp = 6 then 1 else 0 end) as punkt6, sum(case when ip.date_ip_out between :start and :finish and ip.num_pp = 6 and ip.solid_num = 1 then ip.sum_ else 0 end) as sum_punkt6, sum(case when ip.date_ip_out between :start and :finish and ip.solid_num = 1 then ip.fakt_sum_is else 0 end) as sum_7_percent from ip join s_subdividings on ip.sdc = s_subdividings.sdc group by 1 |
В Минюст Цитата Спасибо |
22.02.2011, 06:34 | #9 |
Пользователь
Регистрация: 09.08.2010
Сообщений: 15
Благодарности: 0
Поблагодарили 0
раз(а) в 0 сообщениях
Обратиться по нику Цитата выделенного |
Писалось для проги "Формирование реестров ИП" потом выгрузки копируются в ОО назвали все это действо "Аналитина", замы у нас эт делают каждую неделю.
получилось так Код:
select ip.uscode, ip.fio_spi, count(ip.pk), count(ip2.pk), count(ip3.pk), count(ip4.pk), count(ip5.pk), count(ip6.pk), count(ip7.pk), count(ip8.pk), count(ip9.pk), count(ip10.pk), count(ip11.pk), count(ip12.pk) from (((((((((ip left outer join ip ip2 on (ip.pk=ip2.pk) and (ip.DATE_IP_OUT > '01.01.2011') and (ip.DATE_IP_OUT <'21.01.2011')) left outer join ip ip3 on (ip2.pk=ip3.pk) and ((ip.NUMP26 = 47 and ip.NUM_PP <= 2) or (ip.NUMP26 = 103 and ip.NUM_PP = 1))) left outer join ip ip4 on (ip.pk=ip4.pk) and (ip.DATE_IP_IN < '01.01.2011')) left outer join ip ip5 on (ip2.pk=ip5.pk) and (ip.DATE_IP_IN < '01.01.2011') and (ip.DATE_IP_OUT > '01.01.2011') and (ip.DATE_IP_OUT <'НУЖНАЯ НАМ ДАТА')) left outer join ip ip6 on (ip2.pk=ip6.pk) and (ip.VID_ORG_ID_KEY containing '/1/') and (ip.DATE_IP_OUT > '01.01.2011') and (ip.DATE_IP_OUT <'НУЖНАЯ НАМ ДАТА')) left outer join ip ip7 on (ip6.pk=ip7.pk) and ((ip.NUMP26 = 47 and ip.NUM_PP <= 2) or (ip.NUMP26 = 103 and ip.NUM_PP = 1)) and (ip.DATE_IP_OUT > '01.01.2011') and (ip.DATE_IP_OUT <'НУЖНАЯ НАМ ДАТА')) left outer join ip ip8 on (ip2.pk=ip8.pk) and (ip.nump26 = 46 and ip.num_pp in (2, 3, 4)) and (ip.DATE_IP_OUT > '01.01.2011') and (ip.DATE_IP_OUT <'НУЖНАЯ НАМ ДАТА')) left outer join ip ip9 on (ip8.pk=ip9.pk) and (ip.VID_ORG_ID_KEY containing '/1/') and (ip.DATE_IP_OUT > '01.01.2011') and (ip.DATE_IP_OUT <'НУЖНАЯ НАМ ДАТА')) left outer join ip ip10 on (ip.pk=ip10.pk) and (ip.VID_ORG_ID_KEY containing '/1/')) left outer join ip ip11 on (ip4.pk=ip11.pk) and (ip.VID_ORG_ID_KEY containing '/1/') left outer join ip ip12 on (ip.pk=ip12.pk) and (ip.DATE_IP_IN > '01.01.2011') and (ip.VID_ORG_ID_KEY containing '/1/') where (ip.SSD is null) and (ip.SSV is null) and (ip.DATE_IP_IN > '29.12.1900') and (ip.DATE_IP_IN < 'НУЖНАЯ НАМ ДАТА') group by ip.uscode, ip.fio_spi Код:
select ip.uscode, ip.fio_spi, sum (ip_in_sum.summ) as summa from (ip left outer join ip_in_sum on (ip.pk=ip_in_sum.fk) ) where ((ip.sisp_key in ( '/1/22/37/', '/1/22/38/', '/1/22/41/', '/1/22/42/', '/1/22/44/', '/1/22/45/', '/1/22/46/' ) and ip_in_sum.date_sum >= '29.12.2009' and ip_in_sum.date_sum <= '06.09.2010')) and ip.main_dolg is not null group by ip.uscode, ip.fio_spi |
В Минюст Цитата Спасибо |
22.02.2011, 08:58 | #10 |
Модератор раздела
Регистрация: 03.03.2009
Сообщений: 151
Благодарности: 0
Поблагодарили 45
раз(а) в 45 сообщениях
Обратиться по нику Цитата выделенного |
Твой запрос - полный п. Но почему-то все равно продолжаешь гнуть.
|
В Минюст Цитата Спасибо |
|
|
«Закония» в соц. сетях