martes, 24 de febrero de 2009

Creación de las Vistas

1) Vista Propietario_Poliza: muestra a los propietarios que cuya poliza vence en el 2010.

If object_id ('Propietario_Poliza', 'view') is not null
drop view Propietario_Poliza
go
create view Propietario_Poliza as
select pro.*, p.Fec_ter_pol
from tb_propietario as pro
inner join tb_certificado as c
on pro.Cod_ase=c.Cod_ase
inner join tb_poliza as p
on c.Num_pol=p.Num_pol
where year(Fec_ter_pol)=2010


2)Vista Ase_Auto_Comb: muestra el nombre y apellido de los asegurados que inscribieron autos a 'gasolina 90'.

If object_id ('Ase_Auto_Comb', 'view') is not null
drop view Ase_Auto_Comb
go
create view Ase_Auto_Comb as
select c.Des_comb, ase.Cod_ase, ase.Nom_ase, ase.Ape_pat_ase, ase.Ape_mat_ase
from tb_combustible as c
inner join tb_auto as a
on c.Tipo_comb=a.Tipo_comb
inner join tb_certificado as ce
on a.Plac_aut=ce.Plac_aut
inner join tb_asegurado as ase
on ce.Cod_ase=ase.Cod_ase
where c.Des_comb='GASOLINA 90'


3)Vista Poliza_Cobertura: muestra la suma maxima, minima, promedio y total de las polizas que tengan cobertura 'Servicio de auxilio mecánico'


If object_id ('Poliza_Cobertura', 'view') is not null
drop view Poliza_Cobertura
go

create view Poliza_Cobertura as
select c.Des_cob, max(Suma_ase_pol) as 'Suma Maxima',
min(Suma_ase_pol) as 'Suma Minima',
avg(Suma_ase_pol) as 'Suma Promedio',
sum(Suma_ase_pol) as 'Suma Total'
from tb_cobertura as c
inner join tb_detalleCobetura as dc
on c.Cod_cob=dc.Cod_cob
inner join tb_poliza as p
on dc.Num_pol=p.Num_pol
where c.Des_cob='Servicio de auxilio mecánico'
group by c.Des_cob


4)Vista Courrier_poliza: muestra a los courriers que no han entregado polizas que fueron emitidas en el 2007

If object_id ('Courrier_poliza', 'view') is not null
drop view Courrier_poliza
go

create view Courrier_poliza as
select c.*
from tb_courrier as c
inner join tb_poliza as p
on c.Cod_cou=p.Cod_cou
where year(Fec_ini_pol) not in (2007)


5)Vista Compaginador_Certificados: muestra la cantidad de certificados que han emitido los compaginadores cuyo apellido empieza por la letra 'A' en el segundo trimestre del 2007

If object_id ('Compaginador_Certificados', 'view') is not null
drop view Compaginador_Poliza
go

create view Compaginador_Certificados as
select e.Cod_emp, e.Nom_emp, e.Ape_pat_emp, e.Ape_mat_emp, count(c.Num_cer)as 'CANTIDAD CERTIFICADOS'
from tb_empleados as e
inner join tb_poliza as p
on e.Cod_emp=p.Cod_emp
inner join tb_certificado as c
on p.Num_pol=c.Num_pol
where month(Fec_ini_cer) in (4,5,6) and year(Fec_ini_cer)=2007

group by e.Cod_emp, e.Nom_emp, e.Ape_pat_emp, e.Ape_mat_emp

No hay comentarios: