Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

actualizacion de una columna

Estas en el tema de actualizacion de una columna en el foro de Bases de Datos General en Foros del Web. Bueno llevo unos dias en que las consultas me estan matando... Necesito actualizar la columna debe de la tabla clientes añadiendo en ella el importe ...
  #1 (permalink)  
Antiguo 11/01/2008, 03:53
 
Fecha de Ingreso: enero-2008
Mensajes: 4
Antigüedad: 16 años, 3 meses
Puntos: 0
actualizacion de una columna

Bueno llevo unos dias en que las consultas me estan matando...

Necesito actualizar la columna debe de la tabla clientes añadiendo en ella el importe total de los pedidos realizados por cada cliente.

Espero me podais ayudar, gracias!

tabla clientes

CLIENTE_NO | int(4) | NO | PRI | 0 |
NOMBRE | varchar(25) | YES | | NULL |
LOCALIDAD | varchar(14) | YES | | NULL |
VENDEDOR_NO | int(4) | YES | MUL | NULL |
DEBE | float(9,2) | YES | | NULL |
HABER | float(9,2) | YES | | NULL |
LIMITE_CREDITO | float(9,2) | YES | | NULL |

tabla pedidos

PEDIDO_NO | int(4) | NO | PRI | 0 |
PRODUCTO_NO | int(4) | YES | MUL | NULL |
CLIENTE_NO | int(4) | YES | MUL | NULL |
UNIDADES | int(4) | YES | | NULL |
FECHA_PEDIDO | date | YES | | NULL |

tabla productos

PRODUCTO_NO | int(4) | NO | PRI | 0 |
DESCRIPCION | varchar(30) | YES | | NULL |
PRECIO_ACTUAL | float(8,2) | YES | | NULL |
STOCK_DISPONIBLE | int(9) | YES | | NULL |
  #2 (permalink)  
Antiguo 11/01/2008, 18:27
Avatar de Beakdan  
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 22 años, 4 meses
Puntos: 7
Re: actualizacion de una columna

Podría ser algo como esto:
Código:
UPDATE      clientes
SET         DEBE = DEBE + SUM(pe.UNIDADES * pr.PRECIO_ACTUAL)
FROM        clientes AS cli
INNER JOIN  pedidos AS pe
            ON pe.CLIENTE_NO = cli.CLIENTE_NO
INNER JOIN  productos AS pr
            ON pr.PRODUCTO_NO = pe.PRODUCTO_NO
GROUP BY    CLIENTE_NO
Aunque no sé que motor de base de datos estás usando, la sintaxis debería ser muy similar a lo anterior.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:35.