SQL Server - Query con CASE e INNER JOIN

 
Vista:
sin imagen de perfil
Val: 3
Ha aumentado su posición en 6 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

Query con CASE e INNER JOIN

Publicado por CARLOS A (5 intervenciones) el 11/07/2018 18:30:36
Tengo dos tablas, en una se guardan la información de ventas en otra los datos del cliente.
El la tabla de ventas, se registran las devoluciones, pero no se registran en negativo.
Deseo hacer un query que liga las dos tablas y que cuando sea una devolución el importe me lo ponga en negativo, para eso utilizo el CASE, pero me marca un error al ejecutarlo.

Parece que es un problema con el INNER JOIN porque si modifico el query sin ligar las tablas, se ejecuta con normalidad.

El query es:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
SELECT
	VENTA.Mov,
	VENTA.MovID,
	CASE VENTA.Mov
		WHEN 'DEVOLUCION VENTA'
			THEN 0-Venta.Importe
		WHEN 'DEVOLUCION GARANTIA'
			THEN 0-Venta.Importe
		ELSE VENTA.Importe
	END AS ImporteFactura,
	VENTA.FechaEmision,
	VENTA.Ejercicio,
	VENTA.Periodo,
	VENTA.Cliente,
	Cte.NOMBRE,
	Cte.RAMA,
	Cte.Descripcion18=NULL
FROM Venta INNER JOIN CTE ON VENTA.CLIENTE = CTE.CLIENTE
WHERE VENTA.FECHAEMISION>='01/01/2018'  AND VENTA.Mov IN ('FACTURA', 'DEVOLUCION VENTA', 'DEVOLUCION GARANTIA') AND VENTA.Estatus='CONCLUIDO'
ORDER BY VENTA.ID

El mensaje de error que marca es:
Mens. 102, Nivel 15, Estado 1, Línea 17
Sintaxis incorrecta cerca de '='.
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
Val: 3
Ha aumentado su posición en 6 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

Query con CASE e INNER JOIN

Publicado por CARLOS A (5 intervenciones) el 11/07/2018 20:08:44
Ya detecte el error que tenia en el query.
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