Buenos días foro
estoy realizando una consulta para sacar mis inventarios y movimientos por hora y por fecha.
ya tengo la consulta la cual si me muestra los movimientos. pero por ejemplo si quiero saber los movimientos de las 22:00 horas asta las 7:30 horas me manda cantidades en 0 y si las hago de las 7:30 a las 22:00 horas si me las da.
es decir cuando selecciono un rango de un solo día si me muestra los daos pero si selecciono un horario que comienza en un día y termina en el siguiente no me muestra nada.
esta es mi consulta.
/* Select * From [dbo].[OWTR] T0 */
Declare @FecIni DateTime
Declare @FecFin DateTime
Declare @HorIni Int
Declare @HorFin Int
/* Where */
select @FecIni /* T0.[DocDate] */= '[%0]'
/* And */
Select @FecFin /* T0.[DocDate] */= '[%1]'
/* And */
Select @HorIni /* T0.[DocTime] */= '[%2]'
/* And */
Select @HorFin /* T0.[DocTime] */= '[%3]'
SELECT DISTINCT T.ItemCode, T.ItemName,
A.OnHand +
IsNull((SELECT Sum(B.Quantity)
FROM [dbo].RPD1 B INNER JOIN [dbo].ORPD A2 ON B.DocEntry = A2.DocEntry
WHERE B.ItemCode=T.ItemCode AND A2.DocDate BETWEEN @FecIni AND @FecFin and A2.DocTime BETWEEN @HorIni and @HorFin and A2.Canceled='N'),0) +
ISNULL((SELECT SUM(Y.Quantity)
FROM [dbo].OWTR X INNER JOIN [dbo].WTR1 Y ON Y.DocEntry=X.DocEntry
WHERE Y.ItemCode=T.ItemCode AND X.DocDate BETWEEN @FecIni AND @FecFin AND DocTime BETWEEN @HorIni and @HorFin and Y.FromWhsCod = 'MP' AND Y.WhsCode = 'WIP'),0)as 'stock historial',
IsNull((SELECT Sum(B.Quantity)
FROM [dbo].PDN1 B INNER JOIN [dbo].OPDN A1 ON B.DocEntry = A1.DocEntry
WHERE B.ItemCode=T.ItemCode AND A1.DocDate BETWEEN @FecIni AND @FecFin and A1.DocTime BETWEEN @HorIni and @HorFin and A1.Canceled='N'),0) as 'Entradas de Mescancia',
IsNull((SELECT Sum(B.Quantity)
FROM [dbo].RPD1 B INNER JOIN [dbo].ORPD A2 ON B.DocEntry = A2.DocEntry
WHERE B.ItemCode=T.ItemCode AND A2.DocDate BETWEEN @FecIni AND @FecFin and A2.DocTime BETWEEN @HorIni and @HorFin and A2.Canceled='N'),0) as'Devoluciones',
ISNULL((SELECT SUM(Y.Quantity)
FROM [dbo].OWTR X INNER JOIN [dbo].WTR1 Y ON Y.DocEntry=X.DocEntry
WHERE Y.ItemCode=T.ItemCode AND X.DocDate BETWEEN @FecIni AND @FecFin AND DocTime BETWEEN @HorIni and @HorFin and Y.FromWhsCod = 'MP' AND Y.WhsCode = 'WIP'),0)as 'Cantidad Entregada',
A.OnHand as 'Inventario'
/*ISNULL((SELECT SUM(Y.Quantity)
FROM [dbo].OIGE X INNER JOIN [dbo].IGE1 Y ON Y.DocEntry=X.DocEntry
WHERE Y.ItemCode=T.ItemCode AND X.DocDate >=@FecIni AND X.DocDate<= @FecFin and Y.WhsCode = 'WIP' AND Y.AcctCode = '1200.2.1' AND X.Comments LIKE '%Nº-OT%'),0) as'Cantidad Consumida'*/
FROM OITM T Inner JOin OITW A on T.ItemCode = A.ItemCode
where T.SellItem = 'N' and T.PrchSeItem = 'Y' AND A.WhsCode = 'MP'
GROUP BY T.ItemCode, T.ItemName,A.OnHand
ORDER BY T.ItemCode