El problema es el siguiente, debo hacer un procedimiento almacenado, donde:
Si las ventas totales de los clientes es mayor a 500.000 entonces que se cumpla la siguiente condicion :
Modificar el estatus de los clientes de menudeo(1) a mayoreo (2).
Mi base de datos cuenta con 10 tablas.
- Clientes
- Articulos
- Datos_generales
- detalle_art
- Lineas
- Localidad
- Proveedores
- Usuarios
- Ventas_det
- Ventas_generales
En ventas_det están los siguientes campos:
- vd_folio (el folio de compra que tiene cada cliente)
- vd_cod (el codigo del producto)
- vd_cant (cantidad de lo que se compra)
- vd_precio
en ventas_generales están los siguientes campos:
- vg_folio (está es la llave primaria, aquí es folio por cliente de cada venta q realiza)
- vg_cte (codigo del cliente)
- vg_tipo
- vg_status
Según yo... debo sumar todas las ventas que tiene 1 cliente dependiendo de su folio, si todas esas ventas q tiene el cliente son superiores a 500.000 entonces se cumpliria la condicion de cambiar el estatus de menudeo a mayoreo.
este estatus se cambia de la tabla clientes.
Así es como tengo mi desastre de query.. :
USE VENTAS
GO
ALTER PROCEDURE SP_VENTAS2
@OPCION AS TINYINT
AS
BEGIN
IF (@OPCION=1)
BEGIN
IF (select SUM (vd_precio * vd_cant) > 500 from ventas_det)
BEGIN
UPDATE clientes SET cl_estatus=2 where cl_estatus = 1
END
END
END
ELSE
BEGIN
SELECT ('Valor fuera de rango') as Mensaje
END
Me sale el siguiente error :
Mens 102, Nivel 15, Estado 1, Procedimiento SP_VENTAS2, Línea 7
Sintaxis incorrecta cerca de '>'.
No sé nisiquiera si tengo bien la condicion... de que si el total de las ventas de los clientes es mayor de 500.000 entonces ejecutara la condicon de actalizar el estatus...
Gracias!