SQL Server - Ayuda con un Select Sencillo

   
Vista:

Ayuda con un Select Sencillo

Publicado por Airam (1 intervención) el 15/06/2015 14:05:44
Hola Buenos días a todos,

Estoy empezando con a trabajar con SQL SERVER desde hace muy poco y aun me quedo bloqueado con sentencias que creo que son bastantes faciles pero que no se ejecutar.

A ver si alguien me puede ayudar, ahora mismo tengo el siguiente problema:

Tengo una tabla en la que se guardan todos los registros de las lineas de facturas tanto compras como ventas.

Y necesito obtener un informe en el cual pueda obtener la información de lo que he comprado (unidades y neto) mas lo que he vendido (unidades y neto) para poder comparar la información en un mismo listado.

El único campo que me diferencia de si es compra o venta es COMVEN con los valores 'V' ó 'C'

La tabla la obtengo con la siguiente estructura.

CODART - UNIDADES - BASEMONEDA - COMVEN
1 - 12 - 5 - C
1 - 5 - 8 - V
1 - 3 - 8 - V
1 - 4 - 5 - C

Estoy intentando obtener un SUM y separando las columnas de ventas y compras.

CODART - UNIDADES VENTA - NETOVENTA - UNIDADES COMPRA - NETOCOMPRA
1 - 8 - 16 - 16 - 10
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
Imágen de perfil de Isaias

Ayuda con un Select Sencillo

Publicado por Isaias (3181 intervenciones) el 15/06/2015 20:49:31
¿Qué avance llevas de tu query?
¿Cómo calculas NETOVENTA y NETOCOMPRA?
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

Ayuda con un Select Sencillo

Publicado por Rafael (88 intervenciones) el 18/06/2015 11:30:03
A ver si te sirve algo asi ... (recuerda adaptar los datos a tus nombres reales...)
Suponiendo que tu tabla se llamase detalle...

1
2
3
4
5
6
7
SELECT CODART
     , SUM(CASE WHEN COMVEN='V' THEN UNIDADES ELSE O END) AS UNIDADES_VENTA
     , SUM(CASE WHEN COMVEN='V' THEN BASEMONEDA ELSE O END) AS NETO_VENTA
     , SUM(CASE WHEN COMVEN='C' THEN UNIDADES ELSE O END) AS UNIDADES_COMPRA
     , SUM(CASE WHEN COMVEN='C' THEN BASEMONEDA ELSE O END) AS NETO_COMPRA
FROM   DETALLE
GROUP  BY CODART


Saludos espero te sirva...
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