Ver Mensaje Individual
  #6 (permalink)  
Antiguo 22/04/2014, 17:00
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: insert con value+select

En el SELECT...

Por ejemplo, si es una constante:
Código SQL:
Ver original
  1. INSERT INTO profesores (id_persona, activo)
  2. SELECT id_persona, 1
  3. FROM personas
  4. WHERE dni="a";
O bien de una función:
Código SQL:
Ver original
  1. INSERT INTO profesores (id_persona, fecha_alta)
  2. SELECT id_persona, CURDATE()
  3. FROM personas
  4. WHERE dni="a";
O de un JOIN:
Código SQL:
Ver original
  1. INSERT INTO profesores (id_persona, id_titulo)
  2. SELECT P.id_persona, C.id_titulo
  3. FROM personas P INNER JOIN titulo_persona C ON P.id_persona = C.id_persona
  4. WHERE dni="a";

Todo depende de lo que quieras conseguir, y sólo debes cumplir lo que ya te dije:
Cita:
En tanto el número y orden de las columnas del SELECT coincida con el número y orden de los datos de la tabla del INSERT, se insertará lo devuelto por el SELECT.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)