Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Bases de Datos General (http://www.forosdelweb.com/f21/)
-   -   Recorrer tablas iguales en MySQL (http://www.forosdelweb.com/f21/recorrer-tablas-iguales-mysql-225015/)

boxin 18/08/2004 21:39

Recorrer tablas iguales en MySQL
 
Hola...
Resulta que tengo dos tablas, llamemoslas tbl_A y tbl_B
Los campos de ambas tablas son identicos en formato y nombre, pero no el contenido.
En una consulta deseo ver todos los campos de ambas tablas de esta manera:
SELECT tbl_A.*,tbl_B.* FROM tbl_A,tbl_B
El problema es que no se diferenciar los campos de igual nombre de ambas tablas. Una solucion seria escribir para cada campo de cada tabla un "campo AS nuevo_nombre" pero se hace demasiado largo.
Lo que me gustaria saber es si existe alguna otra forma de manejar esta situacion.

Gracias.

Vice 19/08/2004 01:44

¿Te das cuenta de cual es el resultado de la select que has puesto?. Si cada tabla tiene 100 registros, vas a recibir un resultado de 10000 (el producto cartesiano de ambas tablas).
Si lo que quieres es ver el contenido de ambas tablas, sin tener una condición de unión sobre ellas, lo mejor que puedes hacer es dos selects o en una union de ambas
Código:

select "A" cte, tbl_A.* from tbl_A
union
select "B" cte, tbl_B.* from tbl_B

Para hacer esto he supuesto que ambas tablas son idénticas. Las constantes del principio son para distingir cuáles son registros de una tabla y cuales de la segunda.

Si lo que quieres es ver los datos de ambas tablas como lo pusiste tu antes, necesitas una condición de cruce para evitar la multiplicidad de datos y se distinguen los datos de una y otra tabla por la posición, pues primero están los de la tabla A y después los de la tabla B. Si quieres algo más expreso: pon lo nombres de los campos y asígnales un alias.

Un saludo.

boxin 22/08/2004 09:40

Muchas gracias, me parece que poner alias, aunque es largo, es lo mejor.


La zona horaria es GMT -6. Ahora son las 23:06.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.