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

[SOLUCIONADO] Actualizar una tabla desde otra

Estas en el tema de Actualizar una tabla desde otra en el foro de Mysql en Foros del Web. Hola tengo una consulta: Tengo una tabla Tabla1: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: Ver original CODIGO / FECHA / 1010 / "21/09/2010" 1010 / "30/07/2014" 2020 ...
  #1 (permalink)  
Antiguo 05/11/2014, 14:18
Avatar de bandolera  
Fecha de Ingreso: abril-2009
Mensajes: 613
Antigüedad: 15 años
Puntos: 7
Pregunta Actualizar una tabla desde otra

Hola tengo una consulta:
Tengo una tabla Tabla1:
Código SQL:
Ver original
  1. CODIGO/FECHA/
  2. 1010/"21/09/2010"
  3. 1010/"30/07/2014"
  4. 2020/"07/03/2008"
  5. 2020/"10/08/2005"
  6. 2020/"17/05/2014"
  7. 3030/"25/06/2001"
Y quiero actualizar en otra tabla los códigos con las última fecha de cada código existente y que quede así:
Código SQL:
Ver original
  1. 1010/"30/07/2014"
  2. 2020/"17/05/2014"
  3. 3030/"25/06/2001"
Cómo puedo hacer esto usando sentencias SQL??
Gracias.
__________________
Todos somos iguales. NO! a la violencia de género.

Última edición por gnzsoloyo; 05/11/2014 a las 14:43
  #2 (permalink)  
Antiguo 05/11/2014, 14:46
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, 5 meses
Puntos: 2658
Respuesta: Actualizar una tabla desde otra

Cita:
Cómo puedo hacer esto usando sentencias SQL??
Es un UPDATE con uso de JOIN.
Lo puedes ver en el manual de referencia: http://dev.mysql.com/doc/refman/5.0/en/update.html

Código MySQL:
Ver original
  1. UPDATE items,month
  2. SET items.price=month.price
  3. WHERE items.id=month.id;

Código MySQL:
Ver original
  1. UPDATE T1
  2. INNER JOIN T2 ON T1.C1 = T2. C1
  3. SET T1.C2 = T2.C2,
  4.     T2.C3 = expr
  5. WHERE condicion
De todos modos te observo que ese campo de fecha está mal formateado, ya que la fecha se almacena en MySQL como AAAA-MM-DD, no DD/MM/AAAA.
¿Las tienes en un VARCHAR?
__________________
¿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 05/11/2014, 15:35
Avatar de bandolera  
Fecha de Ingreso: abril-2009
Mensajes: 613
Antigüedad: 15 años
Puntos: 7
Pregunta Respuesta: Actualizar una tabla desde otra

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Es un UPDATE con uso de JOIN.
Lo puedes ver en el manual de referencia: http://dev.mysql.com/doc/refman/5.0/en/update.html

Código MySQL:
Ver original
  1. UPDATE items,month
  2. SET items.price=month.price
  3. WHERE items.id=month.id;

Código MySQL:
Ver original
  1. UPDATE T1, T2,
  2. [INNER JOIN | LEFT JOIN] T1 ON T1.C1 = T2. C1
  3. SET T1.C2 = T2.C2,
  4.     T2.C3 = expr
  5. WHERE condition
De todos modos te observo que ese campo de fecha está mal formateado, ya que la fecha se almacena en MySQL como AAAA-MM-DD, no DD/MM/AAAA.
¿Las tienes en un VARCHAR?
La fecha la escribí así pero está en DATE.

Pero no entiendo el comando con el inner join, no domino el inglés.
__________________
Todos somos iguales. NO! a la violencia de género.
  #4 (permalink)  
Antiguo 05/11/2014, 17:50
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, 5 meses
Puntos: 2658
Respuesta: Actualizar una tabla desde otra

Cita:
no domino el inglés
No necesitas dominar inglés. Lo que necesitas es estudiar SQL básico, porque el resto viene en tutoriales en castellano...

http://es.wikipedia.org/wiki/Join#Co...8INNER_JOIN.29

http://www.aulafacil.com/mysql/curso/Lecc-24.htm

http://www.blogdephp.com/consulta-my...-relacionadas/

Por otro lado, si estás metida en el mundo de programación y BBDD, leer inglés es un conocimiento tan necesario como respirar. No puedes trabajar en esto sin al menos entenderlo (yo no lo hablo ni lo escribo, pero lo leo).
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 20/11/2014, 15:50
Avatar de bandolera  
Fecha de Ingreso: abril-2009
Mensajes: 613
Antigüedad: 15 años
Puntos: 7
Pregunta Respuesta: Actualizar una tabla desde otra

Cita:
Iniciado por gnzsoloyo Ver Mensaje
No necesitas dominar inglés. Lo que necesitas es estudiar SQL básico, porque el resto viene en tutoriales en castellano...

http://es.wikipedia.org/wiki/Join#Co...8INNER_JOIN.29

http://www.aulafacil.com/mysql/curso/Lecc-24.htm

http://www.blogdephp.com/consulta-my...-relacionadas/

Por otro lado, si estás metida en el mundo de programación y BBDD, leer inglés es un conocimiento tan necesario como respirar. No puedes trabajar en esto sin al menos entenderlo (yo no lo hablo ni lo escribo, pero lo leo).
Bueno, sigo sinsolucionar mi problema. Pero logré esto:

De mi tabla que tiene registros repetidos con fechas diferentes obtuve los registros con la mayor fecha.

Código SQL:
Ver original
  1. SELECT codigo, MAX(fecha) FROM TABLA1 GROUP BY codigo ORDER BY codigo ASC
[/PHP]

Con esto tengo un registro por cada código que tiene la mayor fecha.

Ahora cómo actualizo esto en la TABLA2
que tiene codigo y fecha???
Me dijeron que haga un curso pero creo que es más complicado.
__________________
Todos somos iguales. NO! a la violencia de género.

Última edición por gnzsoloyo; 20/11/2014 a las 16:20

Etiquetas: sql, tabla
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:16.