Que significan estas fechas en este query?

Buenas cordial saludo.

En el siguiente Query, de auditoría de stock, que significan las 3 fechas:

SELECT T2.[ItemCode], T2.[ItemName], T1.[WhsCode], T1.WhsName,

ISNULL((SELECT (SUM(Y.InQty)-SUM(Y.OutQty))FROM OINM Y WHERE Y.ItemCode = T2.ItemCode AND Y.Warehouse = T1.WhsCode AND Y.DocDate<=‘20210101’),0) ‘Stock’,

ISNULL((SELECT (SUM(Y.TransValue)) FROM OINM Y WHERE Y.ItemCode = T2.ItemCode AND Y.Warehouse = T1.WhsCode AND Y.DocDate <='20210101’),0)‘Costo Total’

FROM OITM T2

INNER JOIN OITW T0 ON T0.ItemCode=T2.ItemCode

INNER JOIN OWHS T1 ON T1.WhsCode=T0.WhsCode

WHERE (SELECT (SUM(Y.InQty)-SUM(Y.OutQty)) FROM OINM Y WHERE Y.ItemCode = T2.ItemCode AND Y.Warehouse = T1.WhsCode AND Y.DocDate<='20210101’) != ‘0’

ORDER BY T2.[ItemCode], T1.[WhsCode]

Gracias de antemano.

Hola @Doom
La primera subconsulta muestra la cantidad existencia al 01-01-2021
La segunda el costo de la cantidad al 01-01-2021
Y finalmente la subconsulta del where solo tiene el cuenta los artículos cuya existencia es diferente de cero al 01-01-2021

Andres Ramirez Jaramillo :colombia:

Recuerda formatear adecuadamente el texto cuando insertas un código de consulta sql
¿puedes editar y corregir?

Como puedo hacer para selecionar un rango de existencia entre 2 fechas, usando el mismo codigo?

Usa

Y.DocDate BETWEEN fecha_inicial AND fecha_final

pero debes de tener en cuenta en que DocDate es tipo Date, asi q tendrá la información de segundos de esa fecha

Si la quieres sin segundos, minutos o horas, puedes usar esto:

CONVERT(DATETIME,Y.DocDate, ‘DD/MM/YYYY’) BETWEEN CONVERT(DATETIME,fecha_inicial, ‘DD/MM/YYYY’) AND CONVERT(DATETIME,fecha_final, ‘DD/MM/YYYY’)

1 me gusta

Este tema se cerró automáticamente 30 días después de la última publicación. No se permiten nuevas respuestas.