Usuario
Consulta de Intervalos de Fecha

Pregunta
-
Hola soy principiante en SQL , estoy tratando de generar una consulta en los intervalos de dos fechas , Estaba intentando con Between pero solo me regresa datos con registros que tengas información en ciertas Fechas lo que yo busco es que Me devuelva 0 o Null en caso de que el registro no contenga información
Es decir quiero saber si "ProductoA" tiene datos en intervalos de fechas de FechaA hasta FechaB pero quiero que consulte por cada fecha que hay entre FechaA y FechaB y NO que solo me devuelva valores donde si haya registros como normalmente lo hace "Where Between"
Ojala me pudieran ayudar.- Editado AngelGlezWayne martes, 3 de marzo de 2020 14:16
Todas las respuestas
-
Buenos días
Dependiendo de como sea la consulta pero si lo que quieres es cambiar el resultado puedes probar CAST para cambiar el valor
Saludos
- Propuesto como respuesta Tonatiuh AbregoModerator martes, 3 de marzo de 2020 15:38
- Votado como útil Tonatiuh AbregoModerator martes, 3 de marzo de 2020 15:38
- Propuesto como respuesta Diana AcuñaModerator martes, 3 de marzo de 2020 16:19
-
Hola Israel Gracias por contestar, Mira esta es la consulta
Select DISTINCT(mtxnhist.PN), inv.LT,inv.MIN,mtxnhist.QTY,mtxnhist.TXNDATE from mtxnhist LEFT JOIN inv on mtxnhist.PN= inv.PN where TXNTYPE in (300,400) and TXNDATE>= '2019-12-30' and TXNDATE <= '2020-03-03'
-
Buenas tardes
Al incluir la fecha en la clausula where te limitas o los resultados que estén dentro de las fechas
Prueba la consulta desde la tabla inv y haz el join de la tabla mtxnhist. Prueba esto
Select DISTINCT(mtxnhist.PN), inv.LT ,inv.MIN,mtxnhist.QTY,mtxnhist.TXNDATE from inv LEFT JOIN mtxnhist ON mtxnhist.PN= inv.PN AND TXNDATE>= '2019-12-30' and TXNDATE <= '2020-03-03' WHERE TXNTYPE in (300,400)
Saludos
- Propuesto como respuesta Diana AcuñaModerator martes, 3 de marzo de 2020 16:19
-
-
Hola que tal Jose, TXNDATE & TXNTYPE concolumnas de la Tabla MTXNHIST. Me inetersa La informacion de la columna QTY de la misma tabla.
Te dejo un enlace en StackOverflow donde planteo la pregunta con algunas imagines y resultados que he obtenido.
https://es.stackoverflow.com/questions/334069/consulta-de-intervalos-de-fecha-sql
-
intentare solucionarlo:
DECLARE @fecini date, @fecfin date
SELECT @fecini= '2009/01/01', @fecfin= '2009/01/31';
WITH secuencia(fecha) AS
( SELECT @fecini as Fecha
UNION ALL
SELECT DATEADD(DAY, 1, fecha) FROM secuencia WHERE fecha < @fecfin)
select isnull(b.codpro,0) as codpro, isnull(b.descrip,'') as descripcion, isnull(b.valor,0) as valor, s.fecha
from secuencia as s left join
productoA as b on b.fecha = a.fecha
---espero que te sirva
- Editado Hacerdan martes, 10 de marzo de 2020 19:58 correccion