Ver Mensaje Individual
  #11 (permalink)  
Antiguo 03/04/2016, 20:14
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Union de filas de parametros HIJOS

Cita:
Iniciado por Pentaxeros Ver Mensaje
Hola gracias por tu aporte, pero no da el resultado que busco.

El código que he publicado si resuelve lo que necesito.

GRACIAS
Tu código es innecesariamente complicado.
Simplemente deberías haber respondido que no obtenías el resultado esperado.

Este es más eficiente que todo eso que pones:

Código MySQL:
Ver original
  1. SELECT  p1.id, p1.id_PADRE, p1.Texto
  2. FROM productos p1
  3.     id_padre IN (SELECT  id
  4.                     FROM productos p2
  5.                     WHERE p2.id_PADRE = - 1 AND p2.familia = 2)
  6. ORDER BY p1.Texto;

Con este resultado:

Código MySQL:
Ver original
  1. mysql> SELECT  p1.id, p1.id_PADRE, p1.Texto
  2.     -> FROM productos p1
  3.     -> WHERE
  4.     ->     id_padre IN (SELECT  id
  5.     ->                     FROM productos p2
  6.     ->                     WHERE p2.id_PADRE = - 1 AND p2.familia = 2)
  7.     -> ORDER BY p1.Texto;
  8. +----+----------+--------------+
  9. | id | id_PADRE | Texto        |
  10. +----+----------+--------------+
  11. |  5 |        4 | camisa azul  |
  12. |  8 |        4 | camisa verde |
  13. +----+----------+--------------+
  14. 2 rows in set (0.00 sec)

El código de una consulta no solo debe devolver algo que se espera. También debe ser reducido, eficiente y optimizado.

Tu código devuelve esto:

Código MySQL:
Ver original
  1. +----+----------+--------------+---------+-----+-------------+
  2. | id | id_PADRE | Texto        | familia | idX | textoX      |
  3. +----+----------+--------------+---------+-----+-------------+
  4. |  3 |        0 | tenedor      |       2 |   3 | tenedor     |
  5. |  1 |        0 | percha       |       1 |   1 | percha      |
  6. |  2 |        0 | libro        |       2 |   2 | libro       |
  7. |  6 |        0 | flores       |       2 |   6 | flores      |
  8. |  7 |        0 | camisa rosa  |       2 |   7 | camisa rosa |
  9. |  4 |       -1 | camisa       |       2 |   4 | camisa      |
  10. |  5 |        4 | camisa azul  |       2 |   4 | camisa      |
  11. |  8 |        4 | camisa verde |       2 |   4 | camisa      |
  12. +----+----------+--------------+---------+-----+-------------+
  13. 8 rows in set (0.00 sec)

Tienes datos redundantes y entremezclados.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 03/04/2016 a las 20:21