Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/04/2016, 14:22
Avatar de Pentaxeros
Pentaxeros
 
Fecha de Ingreso: mayo-2008
Mensajes: 173
Antigüedad: 16 años, 6 meses
Puntos: 3
Union de filas de parametros HIJOS

Hola tengo que hacer una consulta que me esta dando guerra, y no lo resuelvo.

Simplificando al maximo la cosa seria:
TABLA productos:
Código:
id  id_PADRE  Texto             familia
1   0         percha            1
2   0         libro             2
3   0         tenedor           2
4   -1        camisa            2
5   4         camisa azul       2
6   0         flores            2   
7   0         cuchara           2
8   4         camisa verde      2
Lo que quiero es por ejemplo seleccionar de FAMILIA = 2 y que os id_PADRE <1
y si encuentran un id_PADRE = -1 entonces busque los artículos que id_PADRE = id
y que ordene por Texto Ascendente.

El resultado buscado es:
Código:
id  id_PADRE  Texto             familia
4   -1        camisa            2
5   4         camisa azul       2
8   4         camisa verde      2
7   0         cuchara           2
6   0         flores            2  
2   0         libro             2
3   0         tenedor           2
El primer SELECT seria:
Código SQL:
Ver original
  1. SELECT
  2. p.id,p.id_PADRE,p.Texto
  3. FROM productos p
  4. WHERE p.id_PADRE<1 AND p.familia=2
  5. ORDER BY p.Texto

Con este select, obtendría:
Código:
id  id_PADRE  Texto             familia
4   -1        camisa            2
7   0         cuchara           2
6   0         flores            2   
2   0         libro             2
3   0         tenedor           2
Lo que necesito es en SQL si id_PADRE=-1 que busque las filas con id_PADRE=id
para que a continuación de la primera linea ponga:
Código:
id  id_PADRE  Texto             familia
5   4         camisa azul       2
8   4         camisa verde      2
alguna idea???

He mirado UNION, con JOIN, pero no doy con la formula.

GRACIAS!!!

Última edición por gnzsoloyo; 03/04/2016 a las 14:53