SQL - Ayuda SQL

 
Vista:

Ayuda SQL

Publicado por Dani (6 intervenciones) el 28/05/2007 16:20:12
Desde ya, gracias por vuestra ayuda.

Partiendo de una tabla con los campos,

- ID_Cliente
- Factura
- Fecha
- Importe

Me gustaría hacer una actualización de esta tabla, modificando el campo factura a aquellos que en todo el 2006 hayan facturado un total superior a 3.000€.

Tengo la siguiente consulta

SELECT Sum(Importe) AS sumatotal
FROM tabla
WHERE
fecha=2006
GROUP BY ID_Cliente
HAVING Sum(importe)>=3000

¿¿como hago para hacer una actualización de estos datos?? ¿o como meto esta consulta en un UPDATE?

Muchas gracias
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
sin imagen de perfil

RE:Ayuda SQL

Publicado por DALSOM (195 intervenciones) el 28/05/2007 16:41:58
EN VEZ DEL SUM, PON EL ID_CLIENTE, Y EN EL UDATE PONLE EN EL WHERE UN IN, CON EL CODIGO DEL CLIENTE QUE SE ENCUENTRE EN TU SUBQUERY.

SALUDOS,
DALSOM.
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
sin imagen de perfil

TRADUCIDO A CODIGO ES ASI. c:

Publicado por DALSOM (195 intervenciones) el 28/05/2007 19:51:43
update tabla1 set campo1 = valorfuncion(@id)
where id in (
SELECT max(id_cliente) as id_cliente
FROM tabla
WHERE
fecha=2006
GROUP BY ID_Cliente
HAVING Sum(importe)>=3000
)

DONDE VALORFUNCION() PUEDE SER REEMPLAZADO POR EL VALOR DESEADO, O POR UNA FUNCION EN ESPECIFICO.

A VER, CREO QUE ASI ME EXPLICO MEJOR.

SALUDOS,
DALSOM.
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

RE:Ayuda SQL

Publicado por Dani (6 intervenciones) el 28/05/2007 17:12:00
Muchas gracias por tu ayuda, pero hay algo que no cuadra....

Quiero actualizar la fecha de todas las facturas de todos los clientes que hayan facturado en todo el 2006 un importe superior a 3.000€, es decir, no puedo hacer lo que me indicas con "CON EL CODIGO DEL CLIENTE QUE SE ENCUENTRE EN TU SUBQUERY"

Digamos que quiero hacer un UPDATE de esta query

SELECT Sum(Importe) AS sumatotal
FROM tabla
WHERE
fecha=2006
GROUP BY ID_Cliente
HAVING Sum(importe)>=3000

Te en cuenta que todas las factura las suma por cliente lo facturado en el 2006. No es un Cliente en especial...

No se si me he explicado bien..

Gracias de nuevo
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

RE:Ayuda SQL

Publicado por Maver (12 intervenciones) el 28/05/2007 21:16:16
UPDATE TABLA
SET CAMPO_ACTUALIZAR = @VALOR
FROM tabla
WHERE
(SELECT COUNT(*)
FROM tabla
WHERE
fecha=2006
GROUP BY ID_Cliente
HAVING Sum(importe)>=3000 )<> 0

Creo que con eso te tiene que funcionar.

Saludos y Suerte
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

RE:Ayuda SQL

Publicado por Isaías (5072 intervenciones) el 28/05/2007 23:30:49
¿Que CAMPO vas a actualizar y con que VALOR?
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

RE:Ayuda SQL

Publicado por Dani (6 intervenciones) el 29/05/2007 11:00:03
jeje... ok... todo perfecto. Michisimas gracias
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