Advertisement
Guest User

consulta recursiva 2

a guest
Mar 21st, 2012
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.32 KB | None | 0 0
  1. Colocandole id a los productos:
  2.  
  3. +---->B(1,1)
  4. |
  5. +---->C(2,2) +-->F(3,1)
  6. | |
  7. +---->D(3,3)--+-->G(3,2)
  8. | |
  9. A----+ +-->H(3,3)
  10. | +-->M(4,1)
  11. | |
  12. +---->E(4,4)--+-->I(4,1)-+-->N(4,2) +--->M(4,1)
  13. | |
  14. | +-->I(4,1)--+--->N(4,2)
  15. | |
  16. +-->J(4,2)-+-->P(4,2) +---->Y(4,1)
  17. | |
  18. | +--->U(4,1)-+---->X(4,2)
  19. | |
  20. +-->K(4,3)-+-->R(4,1)--+--->V(4,2)
  21. | |
  22. | +-->S(4,2) +---->Y(4,1)
  23. | |
  24. +-->L(4,4)-+-->R(4,1)--+--->U(4,1)-+---->X(4,2)
  25. |
  26. +--->V(4,2)
  27.  
  28. 0---------1------------2----------3------------4------------5--->Generacion
  29.  
  30. CONSULTA:
  31. WITH RECURSIVE compuesta (Madre, Hijo) AS
  32. (
  33. SELECT madre, hijo,
  34. ARRAY[row_number() over (), row_number() over (), 1] AS id_madre
  35. FROM componente_mc WHERE madre = A
  36. UNION ALL
  37. SELECT componente_mc.madre, componente_mc.hijo,
  38. ARRAY[compuesta.id_madre[1], row_number() over (), compuesta.id_madre[2]+1],
  39. FROM componente_mc, compuesta
  40. WHERE componente_mc.madre = compuesta.hijo
  41. )
  42. SELECT Hijo, Madre
  43. FROM compuesta
  44.  
  45.  
  46.  
  47. RESULTADO:
  48. NOTA ID (N° Rama, N°ID, N°Generacion)
  49.  
  50.  
  51. | Hijo | Padre | ID HIJO |
  52. |------+-------|-----------|
  53. | B | A | (1,1,1) |
  54. | C | A | (2,2,1) |
  55. | D | A | (3,3,1) |
  56. | E | A | (4,4,1) |
  57. | F | D | (3,1,2) |
  58. | G | D | (3,2,2) |
  59. | H | D | (3,3,2) |
  60. | I | E | (4,1,2) |
  61. | J | E | (4,2,2) |
  62. | K | E | (4,3,2) |
  63. | L | E | (4,4,2) |
  64. | M | I | (4,1,3) |
  65. | N | I | (4,2,3) |
  66. | I | J | (4,1,3) |
  67. | P | J | (4,2,3) |
  68. | R | K | (4,1,3) |
  69. | S | K | (4,2,3) |
  70. | R | L | (4,1,3) |
  71. | M | I | (4,1,4) |
  72. | N | I | (4,2,4) |
  73. | U | T | (4,1,4) |
  74. | V | T | (4,2,4) |
  75. | U | T | (4,1,4) |
  76. | V | T | (4,2,4) |
  77. | Y | U | (4,1,5) |
  78. | X | U | (4,2,5) |
  79. | Y | U | (4,1,5) |
  80. | X | U | (4,2,5) |
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement