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

tablas temporales e incorporlar dos tablas

Estas en el tema de tablas temporales e incorporlar dos tablas en el foro de Mysql en Foros del Web. hola amigos estoy tratando de usar tablas temporales en mysql y luego introducir a la tabla temporar algunos campos de otras dos tablas(no temporales). Este ...
  #1 (permalink)  
Antiguo 28/05/2009, 15:43
 
Fecha de Ingreso: agosto-2005
Mensajes: 722
Antigüedad: 18 años, 8 meses
Puntos: 2
Pregunta tablas temporales e incorporlar dos tablas

hola amigos estoy tratando de usar tablas temporales en mysql y luego introducir a la tabla temporar algunos campos de otras dos tablas(no temporales).
Este codigo es el que estoy trabajando pero hay un error en el INSERT INTO



CREATE TEMPORARY TABLE SalesSummary (
product_name VARCHAR(50) NOT NULL
, total_sales VARCHAR(50)
, avg_unit_price VARCHAR(50)
, total_units_sold VARCHAR(50)
)

INSERT INTO SalesSummary ( product_name, total_sales, avg_unit_price, total_units_sold)

SELECT
`tflights`.`SupplierID`,
`tflights`.`ServiceID`,
`tflights`.`FlightName`,
`tflights`.`Price`
FROM
`tflights`

SELECT * FROM SalesSummary;

DROP TABLE SalesSummary;


no puedo acceder a la tabla temporal,
cuando hago un simple select no ejecuta
pero cuando trato de crear una nueva tabla con el mismo nombre dise que ya hay una table

Última edición por alfil123; 28/05/2009 a las 16:16
  #2 (permalink)  
Antiguo 28/05/2009, 16:37
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, 4 meses
Puntos: 2658
Respuesta: tablas temporales e incorporlar dos tablas

Bueno, en principio, al final de este segmento:
Código sql:
Ver original
  1. INSERT INTO SalesSummary ( product_name, total_sales, avg_unit_price, total_units_sold)
  2.  
  3. SELECT
  4. `tflights`.`SupplierID`,
  5. `tflights`.`ServiceID`,
  6. `tflights`.`FlightName`,
  7. `tflights`.`Price`
  8. FROM
  9. `tflights`
no hay ningún ";" final... ¿Esto es así?
__________________
¿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 28/05/2009, 19:27
 
Fecha de Ingreso: agosto-2005
Mensajes: 722
Antigüedad: 18 años, 8 meses
Puntos: 2
Respuesta: tablas temporales e incorporlar dos tablas

SELECT`tflights`.`SupplierID`,`tflights`.`ServiceI D`,`tflights`.`FlightName`,`tflights`.`Price`FROM` tflights`;
ya pero no puede intorducir
no se puede hacer un select a la tabla temporal
y tampoco un drop
  #4 (permalink)  
Antiguo 28/05/2009, 19:35
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, 4 meses
Puntos: 2658
Respuesta: tablas temporales e incorporlar dos tablas

Las tablas temporales no conservan su contenido más allá de las ejecuciones en cada conexión. Si estás usando alguna interfase al estilo Navicat, PhpMyAdmin o algo así, es posible que no funcionen bien.
En todo caso, en esas interfases, deberías intentar esto:
Código sql:
Ver original
  1. CREATE TABLE SalesSummary (
  2. product_name VARCHAR(50) NOT NULL,
  3. total_sales VARCHAR(50),
  4. avg_unit_price VARCHAR(50),
  5. total_units_sold VARCHAR(50)
  6. ) ENGINE=MEMORY;
  7.  
  8. INSERT INTO SalesSummary
  9.     (product_name, total_sales, avg_unit_price, total_units_sold)
  10. SELECT
  11.    T.SupplierID,
  12.    T.ServiceID,
  13.    T.FlightName,
  14.    T.Price
  15. FROM
  16. tflights T;
  17.  
  18. SELECT *
  19. FROM SalesSummary;
  20.  
  21. DROP TABLE IF EXISTS SalesSummary;

En el peor de los casos habrá que implementarlo en un stored procedure.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
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 22:28.