Ver Mensaje Individual
  #7 (permalink)  
Antiguo 03/04/2016, 15:58
Avatar de Pentaxeros
Pentaxeros
 
Fecha de Ingreso: mayo-2008
Mensajes: 173
Antigüedad: 15 años, 11 meses
Puntos: 3
Respuesta: Union de filas de parametros HIJOS

Acabo de dar con una SOLUCION!!!

Creo 2 campos "fantasma" que los uso para el orden.
El primero es idX que toma el valor de id siempre a menos que id_PADRE sea >0

Luego un campo textoX que contiene el texto de un select del idX

Con eso puedo ordenar por textoX y despues idX y despues por id_PADRE
al tener id_PADRE con -1 este queda siempre ARRIBA

Os pongo el codigo:
Código SQL:
Ver original
  1. SELECT
  2. *,
  3. (CASE
  4. WHEN id_PADRE < 1 THEN id
  5. ELSE id_PADRE
  6. END) idX,
  7. (SELECT ppp.Texto FROM productos ppp WHERE ppp.id=idX) textoX
  8. FROM productos p
  9. ORDER BY
  10. textoX DESC,
  11. idX ASC,
  12. p.id_PADRE ASC
o en orden inverso:
Código SQL:
Ver original
  1. SELECT
  2. *,
  3. (CASE
  4. WHEN id_PADRE < 1 THEN id
  5. ELSE id_PADRE
  6. END) idX,
  7. (SELECT ppp.Texto FROM productos ppp WHERE ppp.id=idX) textoX
  8. FROM productos p
  9. ORDER BY
  10. textoX ASC,
  11. idX ASC,
  12. p.id_PADRE ASC
[/CODE]

De esta forma puedo ordenar por TextoX de forma ascendente o descendente que id idPADRE = -1 (que es el padre de los hijos) esta por encima de los hijos, y estos a continuación.

Última edición por gnzsoloyo; 03/04/2016 a las 16:17