Advertisement
Guest User

Untitled

a guest
Aug 23rd, 2017
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 9.17 KB | None | 0 0
  1. /* БалБанк до 16 года (14-15гг.) = БалБанк безнадега
  2. */
  3.  
  4. select distinct
  5.     BB1415.id as 'ББ 14 15 год'
  6.     ,bez.id as 'Безнадега'
  7.     ,BB1415.FIO as 'ФИО'
  8.     ,BB1415.contract as 'Договор 14 15'
  9.     ,bez.contract as 'Договор без-га'
  10.     ,BB1415.Pasport as 'Пасспорт'
  11.     ,BB1415.name as 'Портфель ББ'
  12.     ,BB1415.sign_date as 'Дата входа портфеля ББ'
  13.     ,bez.name as 'Портфель Без-га'
  14.     ,bez.sign_date as 'Дата входа портфеля Без-га'
  15.     ,BB1415.uFIO as 'Оператор ББ'
  16.     ,bez.uFIO as 'Оператор Без-га'
  17.     ,BB1415.debt_sum as 'Остаток ББ'
  18.     ,bez.debt_sum as 'Остаток Без-га'
  19. /*  ,BB1415.exp_basic_sum as 'просроченный основной долг ПГ'
  20.     ,bez.exp_basic_sum as 'просроченный основной долг ЭГ'
  21.     ,BB1415.penalty_sum as 'штрафы ПГ'
  22.     ,bez.penalty_sum as 'штрафы ЭГ'
  23.     ,BB1415.percent_sum as 'проЭГенты ПГ'
  24.     ,bez.percent_sum as 'проЭГенты ЭГ'
  25.     ,BB1415.peni_sum as 'пени ПГ'
  26.     ,bez.peni_sum as 'пени ЭГ'
  27.     ,BB1415.commission_sum as 'коммиссия ПГ'
  28.     ,bez.commission_sum as 'коммиссия ЭГ'
  29.     ,BB1415.dt as 'дата крайнего платежа ПГ'
  30.     ,bez.dt as 'дата крайнего платежа ЭГ'
  31.     ,BB1415.sum as 'сумма крайнего платежа ПГ'
  32.     ,bez.sum as 'сумма крайнего платежа ЭГ'
  33. */
  34. from
  35.     bank as b
  36.     inner join (
  37.         select
  38.             p.parent_id
  39.             ,per.f+' '+per.i+' '+per.o as FIO
  40.             ,d.id
  41.             ,pass.series+' '+pass.number as Pasport
  42.             ,d.contract
  43.             ,d.debt_sum
  44.             ,d.exp_basic_sum
  45.             ,d.percent_sum
  46.             ,d.exp_percent_sum
  47.             ,d.penalty_sum
  48.             ,d.peni_sum
  49.             ,d.commission_sum
  50.             ,c.dt
  51.             ,c.sum
  52.             ,p.name
  53.             ,p.sign_date
  54.             ,u.uFIO
  55.         from    
  56.             portfolio as p
  57.             inner join debt as d on p.id = d.r_portfolio_id
  58.             inner join person as per on d.parent_id = per.id
  59.             inner join passport as pass on pass.id = per.r_passport_id
  60.  
  61. -- c -- платежи
  62.             left join (
  63.                     select dc.parent_id, dc.sum, dc.dt
  64.                     from debt_calc dc
  65.                     where dc.id in (
  66.                             select max(id)
  67.                             from debt_calc
  68.                             group by parent_id
  69.                     )
  70.                     and dc.is_confirmed = 1
  71.                     and dc.is_cancel = 0
  72.             ) c on c.parent_id = d.id
  73.  
  74. -- u -- пользователи
  75.             inner join(
  76.                 select wt.r_debt_id, u.f+' '+u.i+' '+u.o as uFIO
  77.                 from work_task wt
  78.                     left join users u on u.id = wt.r_user_id
  79.             ) as u on u.r_debt_id = d.id
  80. -- условие
  81.         where
  82.             p.parent_id = 49
  83.             and cast(p.sign_date as date) between '01-01-2014' and '31-12-2015'
  84.         ) BB1415
  85.             on b.id = BB1415.parent_id
  86.  
  87.  
  88.  
  89.     inner join(
  90.         select
  91.             p.parent_id
  92.             ,d.id
  93.             ,per.f+' '+per.i+' '+per.o as FIO
  94.             ,pass.series+' '+pass.number as Pasport
  95.             ,d.contract
  96.             ,d.debt_sum
  97.             ,d.exp_basic_sum
  98.             ,d.percent_sum
  99.             ,d.exp_percent_sum
  100.             ,d.penalty_sum
  101.             ,d.peni_sum
  102.             ,d.commission_sum
  103.             ,c.dt
  104.             ,c.sum
  105.             ,p.name
  106.             ,p.sign_date
  107.             ,u.uFIO
  108.         from
  109.             portfolio as p
  110.             inner join debt as d on p.id = d.r_portfolio_id
  111.             inner join person as per on d.parent_id = per.id
  112.             inner join passport as pass on pass.id = per.r_passport_id
  113.  
  114. -- c -- платежи
  115.             left join (
  116.                 select dc.parent_id, dc.sum, dc.dt
  117.                 from debt_calc dc
  118.                 where dc.id in (
  119.                         select max(id)
  120.                         from debt_calc
  121.                         group by parent_id
  122.                 )
  123.                 and dc.is_confirmed = 1
  124.                 and dc.is_cancel = 0
  125.             ) c on c.parent_id = d.id
  126.  
  127. -- u -- пользователи
  128.             inner join(
  129.                 select wt.r_debt_id, u.f+' '+u.i+' '+u.o as uFIO
  130.                 from work_task wt
  131.                     left join users u on u.id = wt.r_user_id
  132.             ) as u on u.r_debt_id = d.id
  133. -- условие
  134.         where
  135.             p.parent_id = 49
  136.             and p.name like '%БАЛТБАНК_безнадёга%'
  137.             --and cast(p.sign_date as date) >= '01-01-2016'
  138.            
  139.         ) as bez on
  140.             bez.parent_id = b.id
  141. where
  142.     BB1415.FIO = bez.FIO
  143.     and BB1415.contract = bez.contract
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150. /* БалБанк до 16 года = БалБанк после 16 года
  151. */
  152.  
  153. select distinct
  154.     bez.id as 'Прошлый год'
  155.     ,cess.id as 'Этот год'
  156.     ,bez.FIO as 'ФИО'
  157.     ,bez.Pasport as 'Пасспорт'
  158.     ,bez.name as 'Портфель ПГ'
  159.     ,bez.sign_date as 'Дата входа портфеля ПГ'
  160.     ,cess.name as 'Портфель ЭГ'
  161.     ,cess.sign_date as 'Дата входа портфеля ЭГ'
  162.     ,bez.contract as 'Договор ПГ'
  163.     ,cess.contract as 'Договор ЭГ'
  164.     ,bez.debt_sum as 'cумма неоПГходимая к погашению ПГ'
  165.     ,cess.debt_sum as 'cумма неоПГходимая к погашению ЭГ'
  166.     ,bez.exp_basic_sum as 'просроченный основной долг ПГ'
  167.     ,cess.exp_basic_sum as 'просроченный основной долг ЭГ'
  168.     ,bez.penalty_sum as 'штрафы ПГ'
  169.     ,cess.penalty_sum as 'штрафы ЭГ'
  170.     ,bez.percent_sum as 'проЭГенты ПГ'
  171.     ,cess.percent_sum as 'проЭГенты ЭГ'
  172.     ,bez.peni_sum as 'пени ПГ'
  173.     ,cess.peni_sum as 'пени ЭГ'
  174.     ,bez.commission_sum as 'коммиссия ПГ'
  175.     ,cess.commission_sum as 'коммиссия ЭГ'
  176.     ,bez.dt as 'дата крайнего платежа ПГ'
  177.     ,cess.dt as 'дата крайнего платежа ЭГ'
  178.     ,bez.sum as 'сумма крайнего платежа ПГ'
  179.     ,cess.sum as 'сумма крайнего платежа ЭГ'
  180. from
  181.     bank as b
  182.     inner join (
  183.         select
  184.             p.parent_id
  185.             ,per.f+' '+per.i+' '+per.o as FIO
  186.             ,d.id
  187.             ,pass.series+' '+pass.number as Pasport
  188.             ,d.contract
  189.             ,d.debt_sum
  190.             ,d.exp_basic_sum
  191.             ,d.percent_sum
  192.             ,d.exp_percent_sum
  193.             ,d.penalty_sum
  194.             ,d.peni_sum
  195.             ,d.commission_sum
  196.             ,c.dt
  197.             ,c.sum
  198.             ,p.name
  199.             ,p.sign_date
  200.         from    
  201.             portfolio as p
  202.             inner join debt as d on p.id = d.r_portfolio_id
  203.             inner join person as per on d.parent_id = per.id
  204.             inner join passport as pass on pass.id = per.r_passport_id
  205.             left join (
  206.                     select dc.parent_id, dc.sum, dc.dt
  207.                     from debt_calc dc
  208.                     where dc.id in (
  209.                             select max(id)
  210.                             from debt_calc
  211.                             group by parent_id
  212.                     )
  213.                     and dc.is_confirmed = 1
  214.                     and dc.is_cancel = 0
  215.             ) c on c.parent_id = d.id
  216.         where
  217.             p.parent_id = 49
  218.             and cast(p.sign_date as date) <= '31-12-2015'
  219.         ) bez
  220.             on b.id = bez.parent_id
  221.  
  222.     inner join(
  223.         select
  224.             p.parent_id
  225.             ,d.id
  226.             ,per.f+' '+per.i+' '+per.o as FIO
  227.             ,pass.series+' '+pass.number as Pasport
  228.             ,d.contract
  229.             ,d.debt_sum
  230.             ,d.exp_basic_sum
  231.             ,d.percent_sum
  232.             ,d.exp_percent_sum
  233.             ,d.penalty_sum
  234.             ,d.peni_sum
  235.             ,d.commission_sum
  236.             ,c.dt
  237.             ,c.sum
  238.             ,p.name
  239.             ,p.sign_date
  240.         from
  241.             portfolio as p
  242.             inner join debt as d on p.id = d.r_portfolio_id
  243.             inner join person as per on d.parent_id = per.id
  244.             inner join passport as pass on pass.id = per.r_passport_id
  245.             left join (
  246.                 select dc.parent_id, dc.sum, dc.dt
  247.                 from debt_calc dc
  248.                 where dc.id in (
  249.                         select max(id)
  250.                         from debt_calc
  251.                         group by parent_id
  252.                 )
  253.                 and dc.is_confirmed = 1
  254.                 and dc.is_cancel = 0
  255.             ) c on c.parent_id = d.id
  256.         where
  257.             p.parent_id = 49
  258.             and cast(p.sign_date as date) >= '01-01-2016'
  259.            
  260.         ) as cess on
  261.             cess.parent_id = b.id
  262. where
  263.     bez.FIO = cess.FIO
  264.     and bez.Pasport = cess.Pasport
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement