Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/06/2009, 11:58
Avatar de Bazookao
Bazookao
 
Fecha de Ingreso: diciembre-2008
Ubicación: Mexico
Mensajes: 139
Antigüedad: 16 años, 1 mes
Puntos: 1
Update de varios campos en vatias tablas

hola otra ves molestando por aqui
tengo tres tablas



Código:
CREATE TABLE [dbo].[Table_1](
	[id] [int] NOT NULL,
	[cantidad] [float] NULL,
	[nombre] [nchar](10) NULL,
 CONSTRAINT [PK_Table_1] PRIMARY KEY CLUSTERED 
(
Código:
CREATE TABLE [dbo].[Table_2](
	[id] [int] NOT NULL,
	[nombre] [nchar](10) NULL,
 CONSTRAINT [PK_Table_2] PRIMARY KEY CLUSTERED 
(
	[id] ASC

Código:
CREATE TABLE [dbo].[Table_3](
	[id] [int] NULL,
	[cla1] [int] NULL,
	[cla2] [int] NULL,
	[cont] [float] NULL
) ON [PRIMARY]

GO

ALTER TABLE [dbo].[Table_3]  WITH CHECK ADD  CONSTRAINT [FK_Table_3_Table_1] FOREIGN KEY([cla1])
REFERENCES [dbo].[Table_1] ([id])
GO

ALTER TABLE [dbo].[Table_3] CHECK CONSTRAINT [FK_Table_3_Table_1]
GO

ALTER TABLE [dbo].[Table_3]  WITH CHECK ADD  CONSTRAINT [FK_Table_3_Table_2] FOREIGN KEY([cla2])
REFERENCES [dbo].[Table_2] ([id])
GO

ALTER TABLE [dbo].[Table_3] CHECK CONSTRAINT [FK_Table_3_Table_2]
GO
la tabla tres tiene 4 campos (id, clave 1, clave 2, cantidad)
esta relacionada con la tabla 1 y tabla 2
hize una cosnulta que cuando un regsitro de la tabla dos de todas los registro que estan
por ejemplo:
Código:
select * from (Table_1 as uno INNER JOIN Table_3 as tres 
ON uno.id=tres.cla1)  inner join Table_2 as dos
ON dos.id=tres.cla2
where dos.nombre='p1'
y da:
Código:

1	10	art1      	1	1	1	5	1	p1        
2	10	art2      	2	2	1	6	1	p1        
3	20	aert3     	3	3	1	7	1	p1

ahora kiero que esa cantidad que aparece en el campo de la tabla 3 llamado cant (5,6 y7 en el ejmplo)
se reste al campo del registro de la tabla1 cant(10,10,20 en el ejemplo)


gracias de antemano a todos los foreros