Ver Mensaje Individual
  #3 (permalink)  
Antiguo 06/04/2015, 13:36
royerromero
 
Fecha de Ingreso: diciembre-2010
Mensajes: 28
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Seleccionar registros de tabla

en cuanto a la primera consulta:

SELECT B1.*,CONCAT(COALESCE((SELECT B2.`Codi` FROM `categorias` B2 WHERE B2.`Id`=B1.`IdCo`),B1.`Codi`),IF(B1.`IdCo` IS NULL,'',B1.`Codi`))`Orde` FROM `categorias` B1 ORDER BY `Orde` ASC

y me arroja la tabla como quiero, pues ordena segun la fila order que es esta:

Código HTML:
[B]Orde*[/B]
ACC
HOM
HOMBIL
HOMCAL
HOMCIN
HOMLLA
MUJ
MUJMCAL
y para buscar el valor anterior:

SELECT B1.*,CONCAT(COALESCE((SELECT B2.`Codi` FROM `categorias` B2 WHERE B2.`Id`=B1.`IdCo`),B1.`Codi`),IF(B1.`IdCo` IS NULL,'',B1.`Codi`))`Orde` FROM `categorias` B1 HAVING `Orde`<'HOMCIN' ORDER BY `Orde` DESC LIMIT 1

sera que hay otra forma mas sencilla de hacerlo ???

Última edición por royerromero; 06/04/2015 a las 15:47