Hola grupo tengo el siguiente problema haber si me pueden dar una mano.
Tengo que crear uan base de datos para generar una orden de compra ya que
esta se lleva en excel.
Tengo creada una tabla llamada ordendecompra y una tabla llamada
detalleDeCompras
en la tabla ordendecompra pongo los encabezado de la ordenes de compras y en
detalles tengo los item que se van agregando en la orden de compra
En la tabla ordendecompras tengo un campo llamado total que es quien contine
el total de la suma de cada item con requerencia al campo compraID
lo que quiero hacer es un join para unir ambas tablas y hacer una sola, pero
cuando hago el Join el total se me retipe por cada Item de la orden, Lo que
quiero saber es como se implementa este tipo de base de datos ? Quiero saber
si es correcto lo que tengo y como puedo resolver el problema que tengo.
Nota:
Quiero saber como puedo unir ambas tabla.
Gracias.
Create table OrdenDeCompra
(CompraID int identity(1,1)
primary key clustered,
OrdenNumero varchar (20)not null
constraint U_OrdenNumero unique (OrdenNumero),
suplidorID int not null,
RequisicionID int not null,
Ordencancelada varchar (15)null,
Cargado varchar not null,
fecha datetime not null,
Empleado varchar (30) DEFAULT SUSER_Sname(),
status varchar (200),
Condicion bit default (1),
Nota varchar (200),
ParaUso varchar (30),
Condiciones varchar (20),
Solicitado varchar (30)not null,
Total money,
Constraint FK_SuplidorID_OrdenDeCompra foreign key (SuplidorID)
references Suplidor (SuplidorID),
Constraint FK_RequisicionesID_OrdenDeCompra foreign key (RequisicionID)
references RequisicionPorDepartamento (RequisicionID)on delete cascade,
)
go
Create table detalleDeCompras
(detalleid int identity(1,1)
Primary key,
CompraID int,
Articulo varchar (25)not null,
Descripcion varchar (200) null,
Cantidad Money not null,
Unidad varchar (30) not null,
PrecioUnitario Money not null,
SubTotal as (cantidad * PrecioUnitario),
constraint detalleDeCompras_OrdenDeCompra foreign key (CompraID)
references OrdenDecompra (CompraID)on delete cascade)
go
SELECT dbo.OrdenDeCompra.OrdenNumero, dbo.OrdenDeCompra.suplidorID,
dbo.OrdenDeCompra.RequisicionID, dbo.OrdenDeCompra.Ordencancelada,
dbo.OrdenDeCompra.Cargado, dbo.OrdenDeCompra.fecha,
dbo.OrdenDeCompra.Empleado, dbo.OrdenDeCompra.status,
dbo.OrdenDeCompra.Condicion, dbo.OrdenDeCompra.Nota,
dbo.OrdenDeCompra.ParaUso, dbo.OrdenDeCompra.Condiciones,
dbo.OrdenDeCompra.Solicitado,
dbo.detalleDeCompras.Articulo, dbo.detalleDeCompras.Descripcion,
dbo.detalleDeCompras.Cantidad,
dbo.detalleDeCompras.Unidad, dbo.detalleDeCompras.PrecioUnitario,
dbo.detalleDeCompras.SubTotal,dbo.OrdenDeCompra.Total
FROM dbo.OrdenDeCompra INNER JOIN dbo.detalleDeCompras ON
dbo.OrdenDeCompra.CompraID = dbo.detalleDeCompras.CompraID
WHERE (dbo.OrdenDeCompra.Condicion = 1)
Go
create trigger Insert_detalleDeCompras
on detalleDeCompras
for insert,update,delete
as
if @@rowcount = 0
return
update ordenDecompra
set ordenDecompra.total=(select sum(detalleDeCompras.Subtotal)
from detalleDeCompras
where detalleDeCompras.CompraID=ordendecompra.compraID)
from detalleDeCompras inner Join ordendecompra on
detalleDeCompras.compraid=ordendecompra.compraid
Leer las respuestas