Advertisement
Guest User

Untitled

a guest
Oct 18th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 2.84 KB | None | 0 0
  1. SELECT grupo, CASE WHEN cod_emp=0 THEN '00000' ELSE cod_emp END AS COD_EMP,cobertura, produto,sexo,CASE WHEN SUM("2004") IS NULL THEN 10 WHEN SUM("2004")=12 THEN 11 ELSE SUM("2004") END "2004" ,CASE WHEN SUM("2005") IS NULL THEN 10 WHEN SUM("2005")=12 THEN 11 ELSE SUM("2005") END "2005" ,CASE WHEN SUM("2006") IS NULL THEN 10 WHEN SUM("2006")=12 THEN 11 ELSE SUM("2006") END "2006" ,CASE WHEN SUM("2007") IS NULL THEN 10 WHEN SUM("2007")=12 THEN 11 ELSE SUM("2007") END "2007" ,CASE WHEN SUM("2008") IS NULL THEN 10 WHEN SUM("2008")=12 THEN 11 ELSE SUM("2008") END "2008" ,CASE WHEN SUM("2009") IS NULL THEN 10 WHEN SUM("2009")=12 THEN 11 ELSE SUM("2009") END "2009" ,CASE WHEN SUM("2010") IS NULL THEN 10 WHEN SUM("2010")=12 THEN 11 ELSE SUM("2010") END "2010" ,CASE WHEN SUM("2011") IS NULL THEN 10 WHEN SUM("2011")=12 THEN 11 ELSE SUM("2011") END "2011" ,CASE WHEN SUM("2012") IS NULL THEN 10 WHEN SUM("2012")=12 THEN 11 ELSE SUM("2012") END "2012" FROM (SELECT DISTINCT t1.grupo,t1.cod_emp,t1.produto,t1.sexo,t1.cobertura,CASE WHEN dados.ano=2004 THEN dados.exclusao ELSE NULL END "2004" ,CASE WHEN dados.ano=2005 THEN dados.exclusao ELSE NULL END "2005" ,CASE WHEN dados.ano=2006 THEN dados.exclusao ELSE NULL END "2006" ,CASE WHEN dados.ano=2007 THEN dados.exclusao ELSE NULL END "2007" ,CASE WHEN dados.ano=2008 THEN dados.exclusao ELSE NULL END "2008" ,CASE WHEN dados.ano=2009 THEN dados.exclusao ELSE NULL END "2009" ,CASE WHEN dados.ano=2010 THEN dados.exclusao ELSE NULL END "2010" ,CASE WHEN dados.ano=2011 THEN dados.exclusao ELSE NULL END "2011" ,CASE WHEN dados.ano=2012 THEN dados.exclusao ELSE NULL END "2012" FROM ( SELECT grupo,cod_emp,produto,sexo,cobertura FROM tabuas.tabelao_sysuni WHERE cobertura IN ('FGB','VGA','VGB','PPT','PBL','VGC','VGL') AND sexo IN (?) AND cod_emp IN ('10235','05657','05215','06378','05118','06785','05444','05533','15580','05631','10448','06106','05142','06301','05321','00000','04707','05983','04251','06220','04740','05096','06858','04561','05665','08737','05908','06866','08141','06238') AND produto IN ('FGB','VGA','VGB','PPT','PBL','VGC','VGL') AND grupo IN ('ABR','BBR','BRA','CAP','CEF','GBX','GEN','HSB','ICA','ITA','MAP','SUL','UNI') GROUP BY grupo,cod_emp,produto,sexo,cobertura ) t1 left join ( SELECT grupo,cod_emp,produto,sexo,cobertura,ano,exclusao FROM tabuas.tabelao_sysuni WHERE ano IN ('2004','2005','2006','2007','2008','2009','2010','2011','2012') AND cobertura IN ('MOR','SOB','INV') AND sexo IN ('M','F') AND cod_emp IN ('MOR','SOB','INV') AND produto IN ('FGB','VGA','VGB','PPT','PBL','VGC','VGL') AND grupo IN ('ABR','BBR','BRA','CAP','CEF','GBX','GEN','HSB','ICA','ITA','MAP','SUL','UNI') ) dados ON t1.grupo=dados.grupo AND t1.cod_emp=dados.cod_emp AND t1.produto=dados.produto AND t1.sexo=dados.sexo AND t1.cobertura=dados.cobertura ) GROUP BY grupo,cod_emp,produto,sexo,cobertura ORDER BY grupo,cod_emp,produto,sexo,cobertura
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement