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

[SOLUCIONADO] Problema con consulta fecha

Estas en el tema de Problema con consulta fecha en el foro de Mysql en Foros del Web. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código MySQL: Ver original select concat ( f1.nro_identificacion , f1.tipo_identificacion )   as cant     from formulario_f1 as f1 inner join formulario_f5 ...
  #1 (permalink)  
Antiguo 02/05/2014, 16:23
Avatar de Maverick2786  
Fecha de Ingreso: diciembre-2012
Mensajes: 107
Antigüedad: 11 años, 4 meses
Puntos: 1
Problema con consulta fecha

Código MySQL:
Ver original
  1. select concat(f1.nro_identificacion,f1.tipo_identificacion)  as cant
  2.     from formulario_f1 as f1 inner join formulario_f5 as f5
  3.     on concat(f1.nro_identificacion,f1.tipo_identificacion) = concat(f5.nro_identificacion,f5.tipo_identificacion)
  4.     inner join formulario_f4_f7 as f4f7
  5.     on concat(f1.nro_identificacion,f1.tipo_identificacion) = concat(f4f7.nro_identificacion,f4f7.tipo_identificacion)
  6.     where f1.fecha_atencion between (year(f1.fecha_atencion) = '2011' and  month(f1.fecha_atencion)='7')  
  7.     and (year(f4f7.fecha_atencion) = '2012' and month(f4f7.fecha_atencion)='5')
  8.     and f1.status='A'
  9.     and f5.en_tarv = 1
  10.     and f4f7.tipo_esquema_indicado=1
  11.     and concat(f4f7.nro_identificacion,f4f7.tipo_identificacion) not in
  12.             (select concat(f4f7.nro_identificacion,f4f7.tipo_identificacion)  as cant
  13.             from formulario_f4_f7 as f4f7
  14.             where f4f7.tipo_esquema_indicado in (2,3)
  15.             group by concat(f4f7.nro_identificacion,f4f7.tipo_identificacion)
  16.             )
  17.     group by concat(f1.nro_identificacion,f1.nro_identificacion)

Yo se que me tiene que devolver un nombre, pero me da vacio
Gracias por su tiempo

Última edición por Maverick2786; 02/05/2014 a las 16:45
  #2 (permalink)  
Antiguo 02/05/2014, 20:40
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Problema con consulta fecha

La verdad, tu query no se entiende muy claramente, pero por sobre todo, tiene unos gravísimos errores conceptuales. Entre ellos se destaca un abuso de CONCAT, y el uso innecesario y erróneo del mismo, que sin lugar a dudas está haciendo juegos de relaciones totalmente incorrectos.
Para darte un ejemplo del dislate, en el FROM ese CONCAT podría perfectamente considerar iguales un par de valores como (23,4) y (2,34), por cuanto en el concat quedarían como "234" en ambos casos. Y es un error gigantesco.

Sin terminar de entender bien lo que quieres lograr con esa query, su sintaxis más cercana a la realidad sería mas o menos así:
Código MySQL:
Ver original
  1. SELECT f1.nro_identificacion, f1.tipo_identificacion
  2.     formulario_f1 f1
  3.         INNER JOIN formulario_f5 f5 ON (f1.nro_identificacion = f5.nro_identificacion
  4.             AND f1.tipo_identificacion =  f5.tipo_identificacion)
  5.         INNER JOIN formulario_f4_f7 f4f7 ON (f1.nro_identificacion = f4f7.nro_identificacion
  6.             AND f1.tipo_identificacion = f4f7.tipo_identificacion)
  7.     f1.fecha_atencion BETWEEN '2011-07-01' AND '2012-05-31'
  8.         AND f1.status = 'A'
  9.         AND f5.en_tarv = 1
  10.         AND f4f7.tipo_esquema_indicado = 1
  11.         AND f4f7.tipo_esquema_indicado NOT IN (2 , 3)
  12. GROUP BY f1.nro_identificacion, f1.nro_identificacion;
Algo mucho más simple de lo que pones. Y más eficiente por muchas razones.

En cuanto a que te devuelva vacío, eso es solamente un problema de datos, no de sintaxis: No se cumplen las condiciones, pero sin ver los datos y las estructuras reales de las tablas es difícil saber qué estás relacionando mal.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 07/05/2014, 09:35
Avatar de Maverick2786  
Fecha de Ingreso: diciembre-2012
Mensajes: 107
Antigüedad: 11 años, 4 meses
Puntos: 1
Respuesta: Problema con consulta fecha

Si yo lo sabia, pero la idea que queria era algo asi, pero ya me dejaron mostrarlo de otra manera, gracias por la respuesta
  #4 (permalink)  
Antiguo 07/05/2014, 09:54
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Problema con consulta fecha

La verdad, no entendí a qué te refieres con "mostrarlo de otra manera".
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: fecha, join, select
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 16:12.