cancel
Showing results for 
Search instead for 
Did you mean: 

Ayuda con Query

Former Member
0 Kudos

Expertos consultores, disculpen tengo el siguiente query que deveria darme el dato de facturacion en base a un items y si me lo da pero me adiciona una 90 lineas con valor cero y haciendo  cuadre no deveria de hacer esto el query hay alguna forma de que esas 90 lineas no aparecieran ya que los datos que me refleja son los correctos.

les dejo el query que utilice:

SELECT DISTINCT T1.U_Factura, T0.CardName,  --T0.CardCode,

    ISNULL((SELECT SUM(A.Gtotal) FROM PCH1 A INNER JOIN OPCH X ON X.DocEntry=A.DocEntry WHERE X.CardCode=T0.CardCode AND A.ItemCode='01-522159' AND X.U_operado='N' and X.DocDate>='[%0]' and X.DocDate<='[%1]'),0)[Total]

   FROM OPCH T0  INNER JOIN OCPR T1 ON T0.CardCode = T1.CardCode

Se me habia ocurrido crear una tabla virtual con este query pero no sabria como hacer que lo filtre por fecha ya necesito que lo filtre por fecha ya que el rango de fechas no es el mes exacto sino puede ser del 02 del mes hasta el 01 del mes siguiente.

Espero me puedan ayudar de antemano muy agradecido por su ayuda.

Saludos

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

He estado analizando la query que tienes y esta muy extraña, te puedo ayudar en lo que puedo analizar:

1. Estas cruzando con un inner join la tabla de factura de proveedores con la de contactos de socio de negocios,y muestras un campo de usuario en la tabla de contactos que se llama factura, eso quiere decir que se te repetira la factura por cada contacto que tenga el proveedor

2. Por otro lado estas haciendo una query sobre las facturas de proveedores, y a ella tienes asociada una subquery que tambien llama tabla de factura de proveedores pero no tienes linkeada el docentry

Esto esta muy extraño.

Si tu ,me preguntas a mi y yo deseara montos facturados a un proveedor especifico, yo cruzaria proveedor con factura proveedores y con lineas de facturas y agruparia, seria algo asi:


select t0.CardCode,t0.CardName,SUM(t2.GTotal)


  

FROM


   ocrd t0


inner join opch t1 on t0.cardcode=t1.cardcode


  

inner join pch1 t2 on t1.docentry=t2.docentry 


  

inner join oitm t3 on t2.itemcode=t3.itemcode and t2.itemcode='01-522159'


  

where t1.u_operado='N' and and t1.DocDate>='[%0]' and t1.DocDate<='[%1]'


  

group by t0.CardCode,t0.CardName


   En esta query saque el cruce de los contactos ya que no me queda claro para que usas el campo de usuario de la tabla de contactos u_factura

Answers (0)