Skip to Content
avatar image
Former Member

Problema en Query

Buenos Dias Estimados

Junto con saludar, me gustaria saber si me pueden dar una mano con la siguiente query

SELECT Distinct T2.CARDCODE, T2.CardName, ((SELECT SUM(T.DocTOTAL-T.VatSum-T.TotalExpns) FROM OINV T WHERE T.CardCode = T2.CardCode AND T.DocDate BETWEEN '20100101' AND '20100131') - (SELECT SUM(Y.DocTOTAL-Y.VatSum-Y.TotalExpns) FROM ORIN Y WHERE Y.CardCode = T2.CardCode AND Y.DocDate BETWEEN '20100101' AND '20100131')) 'Enero'

FROM OINV T0 left outer join ORIN T3 on T0.DocDate=T3.DocDate

INNER JOIN OCRD T2 ON T0.CardCode = T2.CardCode

WHERE T0.DocDate BETWEEN '%0' AND '%1'

AND T0.CANCELED ='N' and T0.DocEntry NOT IN (Select BaseEntry FROM RIN1 WHERE BaseType != -1) group by T2.CardName,T2.CARDCOde

El problema que tengo es en la subquery que aparece ahi, donde me deberia dar la facturacion mensual de cada cliente en el rango de fecha especificado. Pero cuando la ejecuto no me arroja valor ni tampoco algun error, debe ser un problema en la subquery el cual no puedo encontrar.

Ahora bien si elimino el signo de resta ➖, y lo cambio por una coma (,) para separar los campos, si me arroja los datos pero por separado, y la idea es que aparezca ya el resultad y asi copiar la subquery y solo cambiar las fechas para tener un analisis de la facturacion por cliente mensual.

Atte.

Felipe Loyola

Contabilidad

SecuritySat S.A.

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • Best Answer
    avatar image
    Former Member
    Oct 12, 2010 at 03:04 PM

    Hola Felipe,

    Verificaste que el resultado de la cualquiera de las subconsultas no sea NULL?

    Pues según la lógica todo lo que operas (+-*/, etc) con NULL resulta en NULL. puedes comprobar esto con un ejercicio sencillo,

    SELECT 100-NULL

    Te aconsejo dejar tu subconsulta asi:

    	, (
    		ISNULL((
    			SELECT SUM(T.DocTOTAL-T.VatSum-T.TotalExpns) 
    			FROM OINV T 
    			WHERE T.CardCode = T2.CardCode AND T.DocDate BETWEEN '20100101' AND '20100131'
    		),0) - 
    		ISNULL((
    			SELECT SUM(Y.DocTOTAL-Y.VatSum-Y.TotalExpns) 
    			FROM ORIN Y 
    			WHERE Y.CardCode = T2.CardCode AND Y.DocDate BETWEEN '20100101' AND '20100131'
    		),0)
    	) 'Enero'

    slds.

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member

      WOW

      Gracias Rulius, te pasaste, funciono a la perfeccion.

      eso del NULL no lo sabia, ya que llevo 3 meses en esto del lenguaje SQL, y solo aprendiendo por internet, pero muchas gracias por tu ayuda 😉

      Atte.

      FLR

      Edited by: Floyola on Oct 12, 2010 5:47 PM

  • avatar image
    Former Member
    Oct 19, 2010 at 06:11 PM

    HOLA FELIPE

    EN ESTE QUERY QUIERES QUE NO TE TOME LAS CANCELADAS? PORQUE IGUAL PUDIERAS USAR LA CONDICION DE TARGETTYPE <> 14, ESTE DATO ES DEL INV1

    SALUDOS

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member

      Hola

      Claro, el analisis que queria lograr era el de los ingresos netos por cliente, ahora trabajo en uno parecido para los ingresos por item.

      Lo que sugieres deberia servir para hacer un Mayor de Socio de Negocios, que tambien me interesa mucho, y tambien estoy trabajando en uno ya que aqui tenemos demasiados clientes para hacer un analisis 1 a 1.

      Pero gracias por el Dato 😊

      Saludos.