Posts Tagged ‘ MySQL ’

Update a partir de un Select

Hoy en el trabajo se planteó una duda a la que nadie sabía dar respuesta, pero a la que después de un rato encontramos solución. Cómo realizar un Update a partir de los resultados de un Select. Un Update utilizando un Select dentro del Where, ya lo había hecho muchas veces y no tiene ninguna ciencia, pero que los propios resultado del Select fueran los que se establecieran en el set del Update ….. ya es otra historia.

La solución


update table1 t1, (select creation_date from table2) t2 set t1.creation_date = t2.creation_date;

Se entiende, ¿no? Se le establece al campo creation_date de table1 los valores del campo creation_date de table2. La potencia de esta forma de realizar Update, que yo desconocía hasta hoy, es inmensa.

Anuncios

Ordenaciones en MySQL

Pongamos que tenemos un campo en base de datos de tipo texto en el cuál guardamos datos de varios tipos, números, fechas, etc. y queremos hacer listados ordenados con este campo. Con las cadenas no hay ningún problema ya que con la sentencia order by se pueden realizar ordenaciones fácilmente, el problema surge cuando queremos ordenar otro tipo de datos. Imaginemos que en el campo de texto tenemos guardados una serie de números y realizamos un listado ordenado con order by.


> select * from my_table order by value;

el resultado sería


> 10, 15, 20, 25, 5

Sigue leyendo