Inventario con números de serie

Hola, excelente día a todos!
Tengo una consulta, espero que puedan ayudarme. :pray:
Necesito obtener el inventario de los artículos que están en stock, donde aparezca el almacén de los artículos, el código del articulo, el nombre del articulo y los números de serie.
Tengo el siguiente Query y funciona bien, sólo que me duplica los números de serie de los artículos que se han hecho por transferencia de stock, es decir, que se han transferido de un almacén a otro.

SELECT DISTINCT T0.[ItemCode], T2.[ItemName], T4.[WhsCode], T3.[WhsName], T1.[IntrSerial],
ISNULL((SELECT SUM(A.Quantity) FROM ITL1 A INNER JOIN OITL B ON B.LogEntry=A.LogEntry WHERE A.ItemCode=T0.ItemCode AND A.SysNumber=T0.SysSerial AND B.DocDate<='[%0]'),0)'Stock'
FROM SRI1 T0  
INNER JOIN OSRI T1 ON T0.SysSerial = T1.SysSerial AND T0.ItemCode=T1.ItemCode
INNER JOIN OITM T2 ON T0.ItemCode = T2.ItemCode 
INNER JOIN OWHS T3 ON T0.WhsCode = T3.WhsCode
INNER JOIN OITW T4 ON T0.ItemCode = T4.ItemCode AND T0.WhsCode = T4.WhsCode AND T4.OnHand > 0 
WHERE ISNULL((SELECT SUM(A.Quantity) FROM ITL1 A INNER JOIN OITL B ON B.LogEntry=A.LogEntry WHERE A.ItemCode=T0.ItemCode AND A.SysNumber=T0.SysSerial AND B.DocDate<='[%0]'),0)>0
ORDER BY 1,5

Ojalá puedan ayudarme a corregirlo, gracias!

Hola Leticia
Se me ocurre valides estos dos campos a ver cuál puedas filtrar en tu consulta.
Campo “Direction” en la tabla SRI1.
Campo “StockEff” de la tabla OITL.

1 me gusta

Prueba con este Query: SELECT T0.[ItemCode], T0.[ItemName], T1.[WhsCode], T2.[WhsName], T1.[IntrSerial], T1.[SuppSerial] FROM [dbo].[OITM] T0 INNER JOIN [dbo].[OSRI] T1 ON T0.[ItemCode] = T1.[ItemCode] INNER JOIN OWHS T2 ON T1.[WhsCode] = T2.[WhsCode] WHERE T1.Status = ‘0’

Me funciono muy bien, muchas gracias! :wink: