SQL Server - update con sum

 
Vista:
sin imagen de perfil

update con sum

Publicado por Mario (1 intervención) el 11/08/2022 19:59:45
Buenas soy nuevo en esto y necesito resolver un problema que tengo con sql server 2012

Hice este sql

UPDATE presupuesto set presupuesto.venta=ventas.totalventas
where ventas.sucursal='100' and ventas.fecha>='20220800' and presupuesto.id=1)

Este funciona solo para el 1er registro de la tabla venta, pero actualiza
solo ese registro y no el total de ventas que es lo que necesito

UPDATE presupuesto set presupuesto.venta=(SELECT sum(ventas.totalventas) from ventas
where ventas.sucursal='100' and ventas.fecha>='20220800' and presupuesto.id=1)

Funciona solo para el registro que quiero actualizar pero pierdo los valores de los id 2 y 3 de la tabla de presupuesto

Seguramente estoy usando mal el sum pero no sé como resolverlo

Desde ya muchas gracias

Presupuesto
------------
id presupuesto ventas
1 1000 100
2 2000 50
3 1500 120
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

update con sum

Publicado por Adivino (1 intervención) el 11/08/2022 20:11:04
Pues adivino a que presupuesto.id es el PK de esa tabla

Y de ser asi solo te toma un registro porque el id no deberia repetirse, es apenas obvio que solo te toma el registro cuyo ID = 1

Ademas observo que tu where es demasiado exigente porque, tienen que cumplirse tres condiciones para efectuar el Update

1. ventas.sucursal='100'

2. ventas.fecha>='20220800'

3. presupuesto.id=1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar