SQL - consulta sql

 
Vista:

consulta sql

Publicado por aldo (35 intervenciones) el 02/11/2007 19:59:46
Hola,
necesito resolver algo urgente!
espero que me puedan responder...

tengo esta consulta

Select i.*,d.nombre
from interna i inner join diagnos d on i.numdiag=d.coddiag
where 1<
(select count(*) from interna i2
where i.numafi=i2.numafi
and (i.proce='Capital' or i.proce='Gran Bs.As.' or i.proce='Interior' or i.proce is null)
and (i.[plan]='BASI' or i.[plan]='BLAN' or i.[plan]='AZUL' or i.[plan]='2006' or i.[plan] is null)
and (i.tipo='U' or i.tipo='P' or i.tipo is null)
and (i.dias>4 or i2.dias>0)
and (i.fecing>='2007/10/10' and i.fecing<='2007/10/23')
and (i2.fecing>='2007/10/10' and i2.fecing<='2007/10/23'))
order by i.numafi,i.fecing

Esto me da los internados que estuvieron internados mas de una vez en un periodo que lo ingresa el usuario.
Es decir, esta consulta me da los reinternados (mas una vez).

Pero resulta que los filtros andan todos bien, menos el filtro de la cantidad de dias internados.
Es decir, por ejemplo...
quiero saber los que estuvieron internados mas de una vez (re-internados), en una fecha x, y mas de 4 dias interndos en alguna de las internaciones que estuvo.
Si estuvo 3 veces internados y en alguna de las internaciones estuvo mas de 4 dias, me traiga las 3 internaciones. Pero si en las 3 internaciones estuvo menos de 5 dias, no me traiga ninguna.
No le encuentro la vuelta...
Ya probe con esto...

and (i.dias>4 or i2.dias>0) or (i2.dias>4 or i.dias>0)
y esta tambien...
and (i.dias>4 and i2.dias>0) or (i2.dias>4 and i.dias>0)
etc...

se puede hacer eso que pido??

ojala me puedan ayudar...

saludos,
gracias
Aldo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder