Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.06 KB | None | 0 0
  1. set pages 12
  2.  
  3. with A as
  4. (
  5. select ceil(rownum/3) as i, mod(rownum -1 , 3) + 1 as j, rownum as val from dual connect by level <= 9
  6. ),
  7. B as
  8. (
  9. select ceil(rownum/3) as i, mod(rownum -1 , 3) + 1 as j, 12 - rownum as val from dual connect by level <= 9
  10. )
  11. select A.i, A.j, A.val from A union all
  12. select B.i, B.j, B.val from B
  13. ;
  14.  
  15. I J VAL
  16. ---------- ---------- ----------
  17. 1 1 1
  18. 1 2 2
  19. 1 3 3
  20. 2 1 4
  21. 2 2 5
  22. 2 3 6
  23. 3 1 7
  24. 3 2 8
  25. 3 3 9
  26.  
  27. I J VAL
  28. ---------- ---------- ----------
  29. 1 1 11
  30. 1 2 10
  31. 1 3 9
  32. 2 1 8
  33. 2 2 7
  34. 2 3 6
  35. 3 1 5
  36. 3 2 4
  37. 3 3 3
  38.  
  39. with A as
  40. (
  41. select ceil(rownum/3) as i, mod(rownum -1 , 3) + 1 as j, rownum as val from dual connect by level <= 9
  42. ),
  43. B as
  44. (
  45. select ceil(rownum/3) as i, mod(rownum -1 , 3) + 1 as j, 12 - rownum as val from dual connect by level <= 9
  46. )
  47. ----------------------------------------------------------------
  48. select
  49. A.i as i,
  50. B.j as j,
  51. sum (A.val * B.val) as val
  52. from
  53. A, B
  54. where A.j = B.i
  55. group by A.i, B.j
  56. order by
  57. 1, 2
  58. ;
  59.  
  60. I J VAL
  61. ---------- ---------- ----------
  62. 1 1 42
  63. 1 2 36
  64. 1 3 30
  65. 2 1 114
  66. 2 2 99
  67. 2 3 84
  68. 3 1 186
  69. 3 2 162
  70. 3 3 138
  71.  
  72. with A AS (...), B as (...),
  73. C AS (select i, j from A union i, j from B)
  74. select C.i, C.j, COALESCE(A.val * B.val, 0) AS val
  75. from C
  76. left join A on (A.i = C.i AND A.j = C.j)
  77. left join B on (B.i = C.i AND B.j = C.j)
  78. order by 1, 2;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement