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

union en tabla temporaria

Estas en el tema de union en tabla temporaria en el foro de Mysql en Foros del Web. Hice una consulta que crea una resumen de ventas y deja los datos en una tabla temporaria. Para despues poder calcular totales y demas. La ...
  #1 (permalink)  
Antiguo 24/11/2011, 07:10
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
union en tabla temporaria

Hice una consulta que crea una resumen de ventas y deja los datos en una tabla temporaria. Para despues poder calcular totales y demas.

La cuestion que calculando uno de esos totales, con sqlite yo hacia un union con dos select de la misma tabla.

Cuando migre a mysql al ejecutar la consulta del union con dos select a la misma tabla temporario me aparece el siguiente error:

Can't reopen table "ventas"

Vi en la documentacion que eso no se puede hacer, por eso pregunto si conocen alguna solucion para esto?? Que variante podria hacer que no se complique mucho...

Esta es la consulta con el union:

Código MySQL:
Ver original
  1. SELECt  f , sum(venta) , round(sum(pre) / sum(factu) ,2 )
  2. FROM ventas
  3. WHERE art = 1
  4. UNION SELECT "9999-99" , sum(venta) , round(sum(pre) / sum(factu) ,2 )
  5. FROM ventas
  6. WHERE art = 1 ORDER BY f;

ventas es la tabla temporaria.
  #2 (permalink)  
Antiguo 24/11/2011, 08:24
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: union en tabla temporaria

Lo mas facil:
Ejecutalas por separado la segunda solo te da un registro... ejecutas la primara, la listas y luego ejecutas la segunda y la listas....

Lo mas complicado:
Revisa tu diseño ya que si necesitas una tabla temporal para hacer eso algun error tienes....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Etiquetas: select, sql, tabla, union
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 09:38.