Está en la página 1de 2

Create Database Lab5

go
Use Lab5
go

--Lab 5

--Prestamo( id, nombre, fecha )

--Pagos(idPago,IdPrestamo,monto,fecha)

Create table Prestamo(


Id int Identity Primary Key,
Nombre varchar(40),
Fecha Date NOT NULL
)
go

Insert Into Prestamo Values('Juancito',CONVERT(DATE,'2018-01-13',120))


Insert Into Prestamo Values('Juancito',CONVERT(DATE,'2017-03-26',120))

Create table Pagos(


IdPago int Identity,
IdPrestamo int Foreign Key References Prestamo(Id),
Monto float NOT NULL,
Fecha Date NOT NULL,
Primary Key(IdPago,IdPrestamo)
)
go

Insert Into Pagos Values(1,20000,CONVERT(DATE,'2018-01-13',120))


Insert Into Pagos Values(1,20000,CONVERT(DATE,'2018-03-13',120))
Insert Into Pagos Values(2,30000,CONVERT(DATE,'2017-09-13',120))
Insert Into Pagos Values(2,30000,CONVERT(DATE,'2019-09-13',120))
Insert Into Pagos Values(2,30000,CONVERT(DATE,'2020-01-13',120))

--Tomando como muestra las siguientes tablas crea una función que busque la suma de
los pagos de data préstamo.
--Luego crea una consulta que permita listar los prestamos con el total pagado,
calculado con esa función.
--Considera solo los pagos de menos de dos años.

Create function dbo.Suma_de_Pagos(@IdPrestamo int) returns float


as
begin
Declare @SumaDePagos float

Select @SumaDePagos = SUM(Monto) from Pagos where IdPrestamo = @IdPrestamo


return @SumaDePagos
end
go

Select IdPrestamo,dbo.Suma_de_Pagos(IdPrestamo) as 'Suma de Pagos' from Pagos Group


By IdPrestamo

Select IdPrestamo,dbo.Suma_de_Pagos(IdPrestamo) as 'Suma de Pagos' from Pagos where


DATEDIFF(YEAR,Fecha,GETDATE()) > 2

También podría gustarte