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

Seleccionar todos los registros de dos tablas idénticas

Estas en el tema de Seleccionar todos los registros de dos tablas idénticas en el foro de Bases de Datos General en Foros del Web. Hola foreros!! Tengo un problema que no consigo resolver. Tengo dos tablas exactamente iguales de estructura pero independientes (no se relacionan por ningún campo): TablaA ...
  #1 (permalink)  
Antiguo 17/09/2009, 08:37
Avatar de damargon  
Fecha de Ingreso: junio-2003
Ubicación: Madrid
Mensajes: 386
Antigüedad: 20 años, 10 meses
Puntos: 3
Seleccionar todos los registros de dos tablas idénticas

Hola foreros!!

Tengo un problema que no consigo resolver.

Tengo dos tablas exactamente iguales de estructura pero independientes (no se relacionan por ningún campo):
TablaA y TablaB que contienen los mismos campos: id, nombre, texto, fechaAlta, activo.

Necesito hacer un select de las dos tablas que cumplan que activo=1 y ordenar los registros por fechaAlta desc.

Con los JOIN no consigo hacerlo ya que si no relacionas las tablas mediante un campo nexo no funciona.

Una ayudita sería muy agradecida!!

Saludos y muchas gracias!!
  #2 (permalink)  
Antiguo 17/09/2009, 08:42
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 17 años, 7 meses
Puntos: 9
Respuesta: Seleccionar todos los registros de dos tablas idénticas

Hola prueba lo siguiente:
Código:
SELECT * FROM TablaA a, TablaB b WHERE a.activo = b.activo AND a.activo = 1 ORDER BY a.fechaAlta DESC
Salu2
__________________
->Aprender es un proceso que incluye el error..
  #3 (permalink)  
Antiguo 17/09/2009, 09:20
Avatar de damargon  
Fecha de Ingreso: junio-2003
Ubicación: Madrid
Mensajes: 386
Antigüedad: 20 años, 10 meses
Puntos: 3
Respuesta: Seleccionar todos los registros de dos tablas idénticas

Muchas gracias Cala932,

Ya por lo menos no me da error pero me devuelve los registros repetidos diez veces... ¿¿??
  #4 (permalink)  
Antiguo 17/09/2009, 09:31
Avatar de nonpublic  
Fecha de Ingreso: agosto-2009
Mensajes: 240
Antigüedad: 14 años, 8 meses
Puntos: 4
Respuesta: Seleccionar todos los registros de dos tablas idénticas

Si solo necesitas juntar el resultado de ambas consultas porque no utilizas UNION?
Cita:
SELECT * FROM TablaA a WHERE a.activo = 1 ORDER BY a.fechaAlta DESC
UNION ALL
SELECT * FROM TablaB b WHERE b.activo = 1 ORDER BY b.fechaAlta DESC
  #5 (permalink)  
Antiguo 17/09/2009, 09:49
Avatar de damargon  
Fecha de Ingreso: junio-2003
Ubicación: Madrid
Mensajes: 386
Antigüedad: 20 años, 10 meses
Puntos: 3
Respuesta: Seleccionar todos los registros de dos tablas idénticas

Cita:
Iniciado por nonpublic Ver Mensaje
Si solo necesitas juntar el resultado de ambas consultas porque no utilizas UNION?
No utilizo UNION porque soy un cazurro con SQL y no conocía esa instrucción.

Al final me ha funcionado bien lo siguiente:

Código:
SELECT * FROM tablaA a WHERE a.activo = 1 UNION SELECT * FROM tablaB b WHERE b.activo = 1 ORDER BY fechaAlta desc
Se ve que sólo se puede meter un ORDER BY por cada instrucción SQL y lo toma de forma genérica.

Muchas gracias a todos!!

  #6 (permalink)  
Antiguo 13/03/2010, 23:14
 
Fecha de Ingreso: marzo-2010
Mensajes: 2
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Seleccionar todos los registros de dos tablas idénticas

Cita:
Iniciado por damargon Ver Mensaje
Muchas gracias Cala932,

Ya por lo menos no me da error pero me devuelve los registros repetidos diez veces... ¿¿??
Hola, como resolviste ese problema... porque al momento de desplegarlos en un datagrid me aparacede lo doble de datos que tengo en las base de datos al hacer la consulta anterior
  #7 (permalink)  
Antiguo 13/03/2010, 23:15
 
Fecha de Ingreso: marzo-2010
Mensajes: 2
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Seleccionar todos los registros de dos tablas idénticas

ayuda... como lo resolviste..
  #8 (permalink)  
Antiguo 14/03/2010, 06:14
Avatar de damargon  
Fecha de Ingreso: junio-2003
Ubicación: Madrid
Mensajes: 386
Antigüedad: 20 años, 10 meses
Puntos: 3
Respuesta: Seleccionar todos los registros de dos tablas idénticas

Pues lo resolví con el código que puse:

Código:
SELECT * FROM tablaA a WHERE a.activo = 1 UNION SELECT * FROM tablaB b WHERE b.activo = 1 ORDER BY fechaAlta desc
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

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 13:37.