Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Sentencia if en sql

Estas en el tema de Sentencia if en sql en el foro de Bases de Datos General en Foros del Web. hola quisiera saber como hacer una sentencia if en sql con las sgtes tablas; tabla1 fecha_llamada tabla2 fecha_inicio fecha_final mi problema es que la fecha ...
  #1 (permalink)  
Antiguo 04/06/2008, 08:56
 
Fecha de Ingreso: octubre-2007
Ubicación: Santiago ,Chile
Mensajes: 146
Antigüedad: 16 años, 6 meses
Puntos: 0
Sentencia if en sql

hola quisiera saber como hacer una sentencia if en sql con las sgtes tablas;


tabla1
fecha_llamada


tabla2
fecha_inicio
fecha_final

mi problema es que la fecha llamada se compara con todos los registros fechas_inicio y fecha_final, por ejemplo si yo tengo la fecha_llamada 2/2/2008 y 10/2/2008 en la tabla 1 y tengo intervalos 1/2/2008- 5/2/2008 y 20/2/2008/-25/2/2008 en la tabla 2, con la qry que tengo me muestra lo sgte.


fecha_llamada -------------fecha_inicio------------------fecha_final
1/2/2008 ----------------- 5/2/2008 --- --------------- 20/2/2008
10/2/2008------------------ 5/2/2008-------------------- 20/2/2008
10/2/2008-------------------20/2/2008------------------ 25/2/2008

y yo quiero una qry que seleccione todas las fechas llamadas que hay,donde si (if) la fecha llamada esta en el intervalo fecha_inicio-fecha_final se da por descartados con los demas intervalos entonces me quedaria asi


fecha_llamada -------------fecha_inicio------------------fecha_final

10/2/2008------------------ 5/2/2008-------------------- 20/2/2008
10/2/2008-------------------20/2/2008------------------ 25/2/2008

que es lo que yo busco y otra pregunta queria saber si access me aguantaria una qry de este tipo o tendira que hacerlo en un motor de base de datos mas robusto como sql server??? , de antemano muchas gracias =D!!!!

Si hay alguna otra forma de hacer esto me gustaria saberla igual por favor ayudenmeee!!!!:S

Última edición por rezocrew; 04/06/2008 a las 09:07
  #2 (permalink)  
Antiguo 04/06/2008, 10:11
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 3 meses
Puntos: 13
Respuesta: Sentencia if en sql

Primero lo que quieres no es un IF es un criterio del WHERE.

No suelo llamar a access Base de Datos, pero no vas a necesitar un Oracle para tirar esa query

WHERE f_llamada BETWEEN f_inicio AND f_fin;
Creo que esto ya lo tienes y el fallo lo tienes en el JOIN de las tablas, pero como no has puesto la select.... ara la proxima, poner la select que ya tienes siempre ayuda.

Salu2

Última edición por seyko; 04/06/2008 a las 10:48
  #3 (permalink)  
Antiguo 04/06/2008, 10:25
 
Fecha de Ingreso: octubre-2007
Ubicación: Santiago ,Chile
Mensajes: 146
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: Sentencia if en sql

SELECT Consumo_Fecha_llamada, Tabla1_Rut, Tabla1_Nombre, Tabla2_Nic, viaje_fecha_inicio, viaje_fecha_final

FROM Tabla1, Consumo, Tabla2, viaje
WHERE ((Consumo_Tabla1_Rut=Tabla1_Rut) And (Tabla1_Rut=Tabla2_Tabla1_Rut) And (Tabla2_Nic=viaje_Tabla2_Nic)) And ((Consumo_Fecha_llamada<viaje_fecha_inicio) Or (Consumo_Fecha_llamada>viaje_fecha_final));

Ahi ta la qry lo marcado en negro son tablas intermedias que debo cruzar para sacar la informacion que necesito y lo que ta marcado en negro dendtro del where son las asignaciones de las pk con sus respectivas fk

Última edición por rezocrew; 04/06/2008 a las 13:20
  #4 (permalink)  
Antiguo 05/06/2008, 01:39
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 3 meses
Puntos: 13
Respuesta: Sentencia if en sql

la select y el resultado que muestras en el primer post no son posibles:

fecha_llamada -------------fecha_inicio------------------fecha_final
1/2/2008 ----------------- 5/2/2008 --- --------------- 20/2/2008 -- OK
10/2/2008-------------------20/2/2008------------------ 25/2/2008 -- OK
10/2/2008------------------ 5/2/2008-------------------- 20/2/2008 No cumple el where (Consumo_Fecha_llamada<viaje_fecha_inicio) Or (Consumo_Fecha_llamada>viaje_fecha_final)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:47.