cancel
Showing results for 
Search instead for 
Did you mean: 

Problema en Query

felipe_loyolarodriguez
Active Contributor
0 Kudos

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.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

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.

felipe_loyolarodriguez
Active Contributor
0 Kudos

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

Answers (1)

Answers (1)

Former Member
0 Kudos

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

felipe_loyolarodriguez
Active Contributor
0 Kudos

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.