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

Crear tabla temporal a partir de consulta de dos tablas

Estas en el tema de Crear tabla temporal a partir de consulta de dos tablas en el foro de Mysql en Foros del Web. Hola a todos, Estoy tratando de obtener los datos de columnas de dos tablas, hasta ahí bien. Ahora el problema surge a la hora de ...
  #1 (permalink)  
Antiguo 08/01/2014, 09:34
 
Fecha de Ingreso: junio-2012
Mensajes: 46
Antigüedad: 11 años, 10 meses
Puntos: 0
Crear tabla temporal a partir de consulta de dos tablas

Hola a todos,

Estoy tratando de obtener los datos de columnas de dos tablas, hasta ahí bien. Ahora el problema surge a la hora de volcarlos a una tabla para poder exportarla y trabajar con un fichero Excel. La consulta es la siguiente:

Código MySQL:
Ver original
  1. SELECT a.numero_pedido, a.fecha, a.importe, b.nombre, b.apellido ,b.direccion from tabla_pedidos a inner join tabla_usuarios b on  a.tabla_pedidos =  b.tabla_usuarios

La consulta funciona correctamente pero si intento crear una tabla a partir de dichos resultados:

Código MySQL:
Ver original
  1. CREATE TABLE pedidos
  2. (SELECT a.numero_pedido, a.fecha, a.importe, b.nombre, b.apellido ,b.direccion from tabla_pedidos a inner join tabla_usuarios b on  a.tabla_pedidos =  b.tabla_usuarios)

Me arroja error. Recuerdo de cuando lo estudié hará ya unos años que no se puede hacer ésto directamente y me gustaría saber cual es la manera correcta y más sencilla posible para solucionarlo.

Un saludo.
  #2 (permalink)  
Antiguo 08/01/2014, 09:44
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: Crear tabla temporal a partir de consulta de dos tablas

Porque estás escribiendo MAL:

Código MySQL:
Ver original
  1. CREATE TABLE pedidos
  2.     a.numero_pedido,
  3.     a.fecha,
  4.     a.importe,
  5.     b.nombre,
  6.     b.apellido ,
  7.     b.direccion
  8. FROM tabla_pedidos a INNER JOIN tabla_usuarios b ON a.tabla_pedidos =  b.tabla_usuarios
Pero esta consulta no te crea una tabla temporal, sino una tabla fija.
MySQL tiene dos tipos de tablas temporales: Una depende de la conexión y la otra no.
En la primera se pierde tabla y contenido al cerrar la conexión. En la otra se pierden datos, pero no estructura.
¿Cuál quieres usar?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 08/01/2014 a las 10:32
  #3 (permalink)  
Antiguo 08/01/2014, 10:02
 
Fecha de Ingreso: junio-2012
Mensajes: 46
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Crear tabla temporal a partir de consulta de dos tablas

Hola gnzsoloyo,

Primero quiero agradecerte tu ayuda porque no es la primera vez que tengo que recurrir al foro y siempre estás "al pie del cañón" aportando tu colaboración con problemas ajenos.

He podido obtener la tabla fija (no sé por que dije temporal) con la única salvedad que con INNER me arrojaba error y he utilizado INNER JOIN.

Muchas gracias.

Etiquetas: join, select, tabla, tablas, temporal, usuarios
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 13:16.