Skip to Content

Archived discussions are read-only. Learn more about SAP Q&A

Left Join

Buenas Tardes:

Tengo el siguiente problema:

- Realice una consulta para secar la la venta por día de la siguente forma:

SELECT distinct T0.[CreateDate] , sum(T0.[DocTotal]) 'Venta Crèdito' FROM NNM1 T1 INNER JOIN OINV T0 ON T0.Series = T1.Series WHERE T0.[CardCode] = 'BMOS' AND T1.[SeriesName] = 'bola' group by T0.[CreateDate]

Y me despliega la siguiente información:

# Fecha de creación Venta

1 03/Octubre/2008 47,243.05

2 04/Octubre/2008 45,705.00

3 06/Octubre/2008 75,192.00

4 07/Octubre/2008 26,067.00

5 08/Octubre/2008 32,027.00

6 09/Octubre/2008 33,400.00

7 10/Octubre/2008 40,832.00

8 11/Octubre/2008 38,255.00

9 13/Octubre/2008 55,220.00

10 14/Octubre/2008 28,007.00

11 15/Octubre/2008 20,079.00

NOTA:Se crearon diferentes numeraciones según el usuario para cada documento y se creo el SN BMOS para la venta al público (Factura + Pago).

- Tambien realice la siguiente consulta para las NOTAS DE CREDITO (CANCELACIONES):

SELECT T0.CREATEDATE, SUM(T0.[DocTotal]) FROM ORIN T0, NNM1 T2 WHERE T0.Series = T2.Series AND T2.[SeriesName] = 'bola' GROUP BY T0.CREATEDATE

Y me despliega:

# Fecha de creación CANCELACIONES

1 03/Octubre/2008 1,072.00

2 04/Octubre/2008 157.00

3 06/Octubre/2008 3,459.00

4 08/Octubre/2008 234.00

5 09/Octubre/2008 185.00

6 10/Octubre/2008 2,790.00

7 11/Octubre/2008 159.00

8 13/Octubre/2008 5,863.00

YO NECESITO UNIR AMBAS SENTENCIAS PARA QUE ME DIERA ALGO ASI COMO:

Fecha Ventas Cancelaciones

03/Octubre/2008 47,243.05 1,072.00

10/Octubre/2008 40,832.00

Y ASI SUCESIVAMENTE Y QUE EN DIAS QUE POR EJEMPLO NO HAYA CANCELACIONES SIMPLEMENTE SE QUEDE EL CAMPO EN NULL.

PARA POSTERIORMENTE RESTAR DICHOS CAMPOS Y SACAR LA VENTA NETA.

Estuve leyendo y según pesto debe quedar con un left join he intente la siguiente consulta:

SELECT T0.CREATEDATE, SUM(T0.[DocTotal]) 'VENTAS',SUM(T3.[DocTotal]) 'CANCELACIONES' FROM OINV T0 LEFT JOIN ORIN T3 ON T0.CREATEDATE=T3.CREATEDATE INNER JOIN NNM1 T4 ON T4.Series = T3.Series inner join NNM1 T2 on T0.Series = T2.Series WHERE T2.SERIESNAME=T4.SERIESNAME AND T0.[CardCode] = 'BMOS' AND T2.[SeriesName] = 'bola' AND T4.[SeriesName] = 'bola' GROUP BY T0.CREATEDATE ORDER BY T0.CREATEDATE

Pero me desplego información incorrecta:

Fecha de creación VENTAS CANCELACIONES

03/Octubre/2008 94,486.10 83,616.00

04/Octubre/2008 91,410.00 10,048.00

06/Octubre/2008 75,192.00 280,179.00

08/Octubre/2008 32,027.00 12,402.00

09/Octubre/2008 66,800.00 13,135.00

10/Octubre/2008 204,160.00 237,150.00

11/Octubre/2008 38,255.00 9,858.00

13/Octubre/2008 110,440.00

Para empezar las ventas me las duplico y nose porque, y los numeros que saca en las cancelaciones nada que ver. En la consulta que hice realice un espejo de la tabla NNM1 ya que el código interno de la serie del documento de ventas no es el mismo que el de las cancelaciones, ésto con el fin de igualar el nombre de la serie que es lo que tambien debo enlazar.

Realmente ya estuve viendo muchas formas de realizar la consulta pero no doy con la correcta. Espero alguien me pueda ayudar.

Muchas Gracias

Edited by: Kesia Bonilla on Oct 15, 2008 10:47 PM

Not what you were looking for? View more on this topic or Ask a question