Comunidad de diseño web y desarrollo en internet online

Agrupar registros según versiones con SQL

Citar            
MensajeEscrito el 28 Abr 2014 05:13 pm
Hola gente, gracias por la molestia en leer el post, tengo la siguiente tabla ("complementos") la cual almacena registros de complementos:

Código :

+----+-----------+---------------+-----------+
| id | nombre    | actualizacion | version   |
+----+-----------+---------------+-----------+
| 1  | cliente   |               | 1.0       |
| 2  | billing   |               | 1.0       |
| 3  | producto  |               | 1.0       |
| 4  | cliente-2 | 1             | 2.3       |
| 5  | cliente-3 | 1             | 5.2       |
| 6  | billing-2 | 2             | 4.8       |
+----+-----------+---------------+-----------+


Estos complementos a su vez tienen actualizaciones por ejemplo:

  • El campo actualización cuando se encuentra vacio representa la versión inicial
  • Los que disponen de un numero representan una actualización del id indicado
  • Por ejemplo el complemento cliente-2 es una actualización del id 1 es decir cliente


A su vez la versión indica cual de todas las actualizaciones es la mas reciente por ejemplo:

  • El registro id 5 (cliente-3) es la versión mas reciente del registro 1 (cliente)


Lo que yo quiero hacer es una consulta SQL que me devuelva únicamente las versiones más recientes o bien su versión inicial por ejemplo:

Código :

+----+-----------+---------------+-----------+
| id | nombre    | actualizacion | version   |
+----+-----------+---------------+-----------+
| 3  | producto  |               | 1.0       |
| 5  | cliente-3 | 1             | 5.2       |
| 6  | billing-2 | 2             | 4.8       |
+----+-----------+---------------+-----------+


¿Alguna sugerencia de codigo?

Por Zis

Claber

314 de clabLevel

1 tutorial

Genero:Masculino  

Bell Ville - Cordoba - Argentina

chrome
Citar            
MensajeEscrito el 29 Abr 2014 06:55 pm
Asi como tienes la tabla es algo dificil pues lo ideal seria tener un campo fecha que tenga la ultima actualización.

aunque no necesariamente por ser la fecha mas actual seria la version mas actual.

Sugiero que esta tabla la manejes como historial, pues va almacenando los cambios, y que aparte crees otra tabla que se llame "version actual", asi solo pones un nombre y una actualización, la cual vas a ir modificando.

Sería más facil y entendible.


Ahora uqe puedes hacer un SELECT con un LIMIT 1 y elegir el prden Decendente en el campo actualizacion.

Es todo lo que se me ocurre por ahora.

Por elporfirio

Claber

652 de clabLevel

1 tutorial

Genero:Masculino  

FullStack Web Developer

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.