Tengo el siguiente query que me muestra todos los artículos facturados en los últimos dos días.
SELECT DISTINCT T0.ItemCode FROM INV1 T0
WHERE T0.ItemCode IN (SELECT DISTINCT T0.ItemCode WHERE T0.DocDate >= dateadd(DAY,-2,getdate()))
Ahora quiero hacer una consulta que me muestre todos los artículos que se han facturado excepto los que esten dentro de los resultados de la consulta anterior.
Intente con el NOT IN pero me muestra todos los artículos. ¿Tendrán alguna idea de cómo lo puedo hacer?
Hola @Daniel_Torrez.
Igual me muestra todos los articulos, ya que como estoy haciendo la busqueda en el detalle de las facturas (INV1) puede haber otras facturas anteriores con esos mismos artículos.
Hola Vik
La siguiente consulta muestra los articulos que no han tenido ventas
SELECT T0."ItemCode", T0."ItemName"
FROM OITM T0
LEFT JOIN INV1 T1 ON T0."ItemCode" = T1."ItemCode"
LEFT JOIN OINV T2 ON T1."DocEntry" = T2."DocEntry"
WHERE T0."SellItem" ='Y' AND T1."Quantity" IS NULL
GROUP BY T0."ItemCode", T0."ItemName"
Buenas tardes, concuerdo con @andresramirez, lo que si sacaría el T0.“SellItem” =‘Y’ por que puede ser que les hayas sacado el check de ventas durante estos dos días de consulta y en este caso no consideraría los productos.
Lo otro en inventario, tiene un informe que se llama Artículos inactivos, por lo que veo hace lo que su consulta requiere y con varias opciones.
creo que se fueron lejos @andresramirez y @oscarezh el menciona que tiene un query que le muestra los items facturados los ultimos 2 dias y ahora quiere unos que le muestre los que esten facturados pero no de los ultimos 2 dias, bueno al menos eso es lo que yo entendi…
Gracias por sus comentarios, les comparto el requerimiento.
Movimiento nulo de inventario: Mayor a 6 meses que no se factura.
Lento movimiento: Mayor a 3 meses menor a 6.
Movimiento moderado: Menor a 3 meses y mayor a un mes.
El primer query que mostré es para ver que efectivamente la consulta que hacia iba a excluir los registros que estaban dentro del subquery. @andresramirez agregue el where pero no me muestra resultados, me basare en tu consulta para ver si consigo adaptarla. Por cierto el LEFT JOIN hacia OINV tal vez pueda omitirse.
Hola
Pienso que deberias excluir las facturas canceladas y de cancelación.
Revisa lo siguiente, debes ajustar la sintaxis, yo trabajo con hana
SELECT T0."ItemCode", T0."ItemName"
FROM OITM T0
LEFT JOIN
(
SELECT T1."ItemCode" FROM OINV T0
INNER JOIN INV1 T1 ON T0."DocEntry" = T1."DocEntry"
WHERE T0."CANCELED" ='N' AND DAYS_BETWEEN(T0."DocDate", CURRENT_DATE) <= 2
GROUP BY T1."ItemCode"
) T11
ON T11."ItemCode" = T0."ItemCode"
WHERE T0."SellItem" ='Y' AND T11."ItemCode" IS NULL
GROUP BY T0."ItemCode", T0."ItemName"