Ver Mensaje Individual
  #6 (permalink)  
Antiguo 14/04/2014, 18:17
Avatar de gnzsoloyo
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: Guardar consulta en tabla sin que se repitan resultados

Por supuesto que no te va a insertar nada. UPDATE no inserta, actualiza.
No puedes hacer lo que quieres en una única consulta. Tienes que hacerlo en dos:
1) Insertar.
Código SQL:
Ver original
  1. INSERT IGNORE INTO tabla(Detalle1, total)
  2. SELECT Detalle1, 0 total
  3. FROM padron
  4. GROUP BY Detalle1

2) Actualizar:
Código MySQL:
Ver original
  1. UPDATE operadores O
  2.    INNER JOIN (SELECT Detalle1, count(Detalle1) total
  3.         FROM padron
  4.         GROUP BY Detalle1) P ON O.Operador = P.Detalle1
  5. SET O.Movilizados = (O.movilizados + P.total);

El problema esencial es que no tiene mucho sentido hacer lo que quieres. Estás almacenando un campo calculado, cuando lo único que necesitas es hacer una consulta con JOIN.
Una de las primera cosas que se enseña en BBDD, es que no se guardan en tablas valores que se pueden obtener con consultas. No tiene ni utilidad ni sentido, y sólo te meten en este tipo de bretes.

¿Qué es lo que conceptualmente necesitas obtener?
__________________
¿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; 14/04/2014 a las 18:34