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

Insertar en una tabla luego de un Select...

Estas en el tema de Insertar en una tabla luego de un Select... en el foro de Mysql en Foros del Web. Amigos necesito insertar en la tabla "Color_Producto" que tiene dos campos : - código de color - codigo de producto Los valores : codigo de ...
  #1 (permalink)  
Antiguo 12/02/2010, 23:58
 
Fecha de Ingreso: febrero-2008
Mensajes: 409
Antigüedad: 16 años, 2 meses
Puntos: 2
Pregunta Insertar en una tabla luego de un Select...

Amigos necesito insertar en la tabla "Color_Producto" que tiene dos campos :
- código de color
- codigo de producto

Los valores :

codigo de color : 21 Para todos los nuevos registros
codigo de producto : todos los productos que hayan cumplido un determinado query "Select", en este caso, los que pertenezcan al tipo 2


Intenté hacerlo así :
Cita:
INSERT INTO `Color_Producto`
VALUES ('21', SELECT *FROM `Producto` WHERE `producto_tipo` =2)
Pero no me funciona.... cómo es que se debe hacer este tipo de Queries ? Muchas gracias por adelantado....
  #2 (permalink)  
Antiguo 13/02/2010, 05:29
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: Insertar en una tabla luego de un Select...

No te funciona porque el * está devolviendo todos los campos de la tabla PRODUCTO, y tu necesitas uno solo.
La forma es: INSERT .. SELECT ... (ver en manual); o se usa en ese caso el VALUES porque le quita eficiencia a la sentencia.
Código MySQL:
Ver original
  1. INSERT INTO `Color_Producto`
  2. SELECT 21, producto_codigo
  3. FROM `Producto`
  4. WHERE `producto_tipo` =2
__________________
¿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 15/02/2010, 20:49
 
Fecha de Ingreso: febrero-2008
Mensajes: 409
Antigüedad: 16 años, 2 meses
Puntos: 2
Respuesta: Insertar en una tabla luego de un Select...

Al poner "Select 21, .... " va rellenar el 21 como una constante para todos los registros ? asi de facil ?

Cita:
Iniciado por gnzsoloyo Ver Mensaje
No te funciona porque el * está devolviendo todos los campos de la tabla PRODUCTO, y tu necesitas uno solo.
La forma es: INSERT .. SELECT ... (ver en manual); o se usa en ese caso el VALUES porque le quita eficiencia a la sentencia.
Código MySQL:
Ver original
  1. INSERT INTO `Color_Producto`
  2. SELECT 21, producto_codigo
  3. FROM `Producto`
  4. WHERE `producto_tipo` =2
  #4 (permalink)  
Antiguo 16/02/2010, 07:27
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Insertar en una tabla luego de un Select...

Cita:
asi de facil ?
así de fácil.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming

Etiquetas: select, tablas
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 01:27.