Cita:
Iniciado por libras en los datos que pones ningun registro tiene fec2 esta bien eso??
Porque con esos datos puedes sacar esto:
Código sql:
Ver originalCREATE TABLE #temp
(
juz VARCHAR(20),
EXP INT,
[año] INT,
inc VARCHAR(20),
fec1 datetime,
fec2 datetime,
fec3 datetime
)
INSERT INTO #temp VALUES ('110402',59,2012,'mario','06/08/2012','06/30/2012','06/01/2012')
INSERT INTO #temp VALUES ('50400',54,2012,'maria','02/18/2012','06/30/2012','02/21/2012')
INSERT INTO #temp VALUES ('50400',54,2012,'jesus',NULL,NULL,'02/21/2012')
INSERT INTO #temp VALUES ('50400',54,2012,'jose',NULL,NULL,'02/21/2012')
SELECT COUNT(*),EXP FROM #temp
WHERE (fec1 BETWEEN '01/01/2012' AND '06/30/2012') AND
(fec3 BETWEEN '01/01/2012' AND '06/30/2012') AND (fec3<> '1800-01-01')
--and (clavedel between '847501' and '847808')
--and (juz = '50400')
GROUP BY EXP
y cuenta nada mas un registro por exp ya que solo 1 registro cumple con las 2 condiciones ahora no se donde esta el problema, digo jugue un poco con tus datos y obtengo lo que necesitas no???
estoy de acuerdo, vamos a verlo asi, supongamos que tenemos la misma clave juz = 50400,,, pero en esa clave hay muchos exp,, entonces si un expediente solo tiene un registro y cumple con las condiciones de las 2 fechas, entonces que me lo cuente como 1,,,, pero si un exp tiene 2 o mas registros, (porque se puede dar el caso) y si un registro de este exp, cumple con las condiciones de las 2 fechas tambien me lo cuenta como 1, pero no kiero ke lo haga, es decir, todos los registros del exp deben de cumplir con las condiciones para contarmelo como 1, de lo contrario , con uno registro que no cumpla con las condiciones entonces es 0, no me lo cuenta
No se si me este explicando, disculpa!!
Muchisimas gracias por tu tiempo y ayuda!!