Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/11/2008, 08:46
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Misma consulta en varias tablas similares de forma simultanea

Cita:
Iniciado por qvixote Ver Mensaje
Amigo, necesito que me ayuden. Tengo varias tablas que tienen los mismos campos y nombre similar, en las que quiero hacer una sola consulta que extraiga resultados de búsqueda de todas ellas al mismo tiempo.

Por ejemplo, las tablas son:

egresados2005
egresados2006
egresados2007
egresados2008

Y con una sola consulta, quiero obtener los campos `user_id`, `run` y `nombre` de los registros que cumplan la condición WHERE `codigo` > 7 en todas esas tablas.

¿Se puede hacer algo así o debo hacer una consulta para cada tabla?
hazlo con UNION ALL

Código sql:
Ver original
  1. (SELECT user_id, run, nombre, 'egresados2005' tabladesde FROM egresados2005 WHERE codigo > 7)
  2. UNION ALL
  3. (SELECT user_id, run, nombre, 'egresados2006' FROM egresados2006 WHERE codigo > 7)
  4. UNION ALL
  5. (SELECT user_id, run, nombre, 'egresados2007' FROM egresados2007 WHERE codigo > 7)
  6. UNION ALL
  7. (SELECT user_id, run, nombre, 'egresados2008' FROM egresados2008 WHERE codigo > 7)
  8. ORDER BY nombre

He añadido como valor constante el nombre de la tabla, por si necesitas en la programación trabajar con él.