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

Copiar contenido de un ID en otra tabla

Estas en el tema de Copiar contenido de un ID en otra tabla en el foro de Mysql en Foros del Web. Hola, como estan? Veo que aca en el foro hay muchos expertos en programacion, y espero que alguno me pueda dar una ayuda en este ...
  #1 (permalink)  
Antiguo 13/07/2010, 15:03
 
Fecha de Ingreso: junio-2002
Ubicación: Uruguay
Mensajes: 427
Antigüedad: 21 años, 10 meses
Puntos: 0
Pregunta Copiar contenido de un ID en otra tabla

Hola, como estan?
Veo que aca en el foro hay muchos expertos en programacion, y espero que alguno me pueda dar una ayuda en este problema que tengo y no lo puedo solucionar.

Tengo una base de datos llamada: Musica.

Con 2 tablas, y su contenido:
- Autor. ("ID del Autor", "Nombre de Autor")
- Cancion. ("ID del Autor", "Nombre de Cancion", "Letra")

Lo que yo preciso es, crear una nueva fila en la tabla "Cancion" que consultando el ID del Autor en la tabla Autor me cree una fila en la tabla Cancion y que copie el Nombre del autor.

Entonces la tabla quedaria asi.

- Autor ("ID del Autor", "Nombre de Autor")
- Cancion ("ID del Autor", "Nombre de Autor", "Nombre de Cancion", "Letra")

Espero haber sido claro :)

Un saludo a todos!
Muchas gracias de antemano.
Gracias.
  #2 (permalink)  
Antiguo 13/07/2010, 15:17
 
Fecha de Ingreso: abril-2008
Mensajes: 208
Antigüedad: 16 años
Puntos: 2
Respuesta: Copiar contenido de un ID en otra tabla

elanime

Prueba con esto
Código MySQL:
Ver original
  1. a.id_autor,
  2. a.nombre_autor,
  3. c.nombre_cancion,
  4. c.letra
  5. from autor a
  6. left join cancion c
  7. ON a.id_autor = c.id_autor
  8. where a.id_autor='tu id de autor'

de todos modos esta sentencia NO inserta nuevas columnas a la tabla canción, solo levanta una visualización con las columans requeridas de ambas tablas, que es lo que me imagino necesitas

saludos
  #3 (permalink)  
Antiguo 13/07/2010, 15:45
 
Fecha de Ingreso: junio-2002
Ubicación: Uruguay
Mensajes: 427
Antigüedad: 21 años, 10 meses
Puntos: 0
Respuesta: Copiar contenido de un ID en otra tabla

Gracias por la respuesta :)
Estoy probando el codigo pero no lo entiendo, porque selecciona la letra y el nombre de la cancion si lo que se necesita es consultar el ID del autor y copiar el contenido "nombre del autor" en otra tabla segun el id del autor que diga la cancion?

- c.idautor
Significa ID autor en la tabla cancion?

- WHERE a.id_autor='tu id de autor'
Id autor en tabla a es el mismo id en tabla c, me equivoco o en vez de "tu id de autor" no deberia ser c.id_autor ¿?

Muchas gracias, creo qe vamos en buen camino :) Saludos
  #4 (permalink)  
Antiguo 13/07/2010, 16:02
 
Fecha de Ingreso: junio-2002
Ubicación: Uruguay
Mensajes: 427
Antigüedad: 21 años, 10 meses
Puntos: 0
Respuesta: Copiar contenido de un ID en otra tabla

Aqui dejo mas claro el ejemplo de las dos tablas de mi base de datos.

Asi es mi Tabla llamada Autor:

Id autor | Nombre del autor|
----------------------
1 | Sandra Guzman |
2 | Maria Luz |
3 | Etc |

Asi es mi Tabla llamada Cancion:

Id autor | Nombre de Cancion | Letra |
--------------------------
1 | Llueve | .... |
2 | Paraiso | .... |
3 | Etc | ... |

Yo necesito que la tabla Cancion quede asi.

Id autor | Nombre de Cancion | Letra | Autor |
-----------------------------
1 | Llueve | .... | Sandra |
2 | Paraiso | .... | Maria Luz |
3 | Etc | ... | Etc |

Necesito que copie en una nueva COLUMNA el nombre del autor consultando el ID que tiene la cancion, en la tabla de autores y vea a que autor corresponde ese ID.

Espero haber sido claro. Gracias :)
  #5 (permalink)  
Antiguo 14/07/2010, 06:26
 
Fecha de Ingreso: abril-2008
Mensajes: 208
Antigüedad: 16 años
Puntos: 2
Respuesta: Copiar contenido de un ID en otra tabla

Buenos días elanime

Haber vamos por parte

Cita:
- c.idautor
Significa ID autor en la tabla cancion?
R: Sí, la letra c es el alias de la tabla canción

Cita:
- WHERE a.id_autor='tu id de autor'
Id autor en tabla a es el mismo id en tabla c, me equivoco o en vez de "tu id de autor" no debería ser c.id_autor ¿?
R: "a.id_autor" es el campo que identifica el id del autor en la tabla autor, que efectivamente también está en la tabla canción, y sirve para identificar cual es el autor de la canción. En este caso la puse en el WHERE a.id_autor='tu id de autor' , con la idea que al hacer la consulta reemplaces el texto entre " " he ingreses el id de un autor para que veas como te muestra los datos, por ejemplo podrías poner WHERE a.id_autor= 2, y te debería mostrar la canción Paraíso de María Luz.

Me gustaría aclarar si lo que quieres realmente es modificar la tabla canción??? agregándole la columna del nombre del autor?? o lo que realmente necesitas es "presentar" la información de la tabla canción incluyendo el nombre del autor, que esta guardado en la tabla autor.

Tal vez la pregunta es al revés, que necesitas hacer??

Saludos desde el sur del mundo
  #6 (permalink)  
Antiguo 15/07/2010, 11:46
 
Fecha de Ingreso: junio-2002
Ubicación: Uruguay
Mensajes: 427
Antigüedad: 21 años, 10 meses
Puntos: 0
Respuesta: Copiar contenido de un ID en otra tabla

Hola, gracias por responder.
Si, lo que necesito hacer es modificar la tabla cancion agregandole la columna del nombre del autor.

Ya voy entendiendo todo, para insertarlo en la columna creo qe hay qe usar el codigo INSERT INTO

Saludos y gracias !!
  #7 (permalink)  
Antiguo 15/07/2010, 12:18
 
Fecha de Ingreso: abril-2008
Mensajes: 208
Antigüedad: 16 años
Puntos: 2
Respuesta: Copiar contenido de un ID en otra tabla

Ya Ok

Aún cuando no entiendo para que necesitas hacer este cambio (que además creo no es necesario) puedes probar con lo siguiente.


Lo primero es crear el campo en la tabla canción

Código MySQL:
Ver original
  1. ALTER TABLE `cancion`     ADD COLUMN `nombre_autor` VARCHAR(30);

y ahora cargas los datos en el campo (haz un respaldo antes, por si no es lo que quieres)

Código MySQL:
Ver original
  1. UPDATE cancion c, autor a
  2. SET c.nombre_autor = a.nombre_autor
  3. WHERE a.id_autor = c.id_autor

Saludos

Etiquetas: contenido, copiar, 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 14:56.