Kagee

Untitled

Jan 17th, 2015
307
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 1.01 KB | None | 0 0
  1. SELECT * FROM m;
  2. a.com|CNAME|b.net
  3. b.net|CNAME|c0.org
  4. c.org|A|127.0.0.1
  5. c.org|A|127.0.0.2
  6. c0.org|CNAME|c1.org
  7. c1.org|CNAME|c.org
  8. e.com|CNAME|f.com
  9. f.com|CNAME|g.com
  10. g.com|CNAME|h.com
  11. h.com|CNAME|e.com
  12. i.com|CNAME|j.com
  13.  
  14. WITH RECURSIVE cname(record, TYPE, DATA) AS (
  15.     SELECT record, TYPE, DATA
  16.     FROM m
  17.     WHERE TYPE = 'CNAME'
  18.     UNION
  19.     SELECT cname.record, m.TYPE, m.DATA
  20.     FROM
  21.         cname
  22.         JOIN m ON (m.record=cname.DATA)
  23. )
  24. SELECT *
  25. FROM
  26.     m
  27.     LEFT JOIN cname ON (
  28.         m.TYPE = 'CNAME'
  29.         AND cname.TYPE <> 'CNAME'
  30.         AND cname.record = m.record
  31.     )
  32. ;
  33.  
  34. a.com|CNAME|b.net|a.com|A|127.0.0.1
  35. a.com|CNAME|b.net|a.com|A|127.0.0.2
  36. b.net|CNAME|c0.org|b.net|A|127.0.0.1
  37. b.net|CNAME|c0.org|b.net|A|127.0.0.2
  38. c.org|A|127.0.0.1|||
  39. c.org|A|127.0.0.2|||
  40. c0.org|CNAME|c1.org|c0.org|A|127.0.0.1
  41. c0.org|CNAME|c1.org|c0.org|A|127.0.0.2
  42. c1.org|CNAME|c.org|c1.org|A|127.0.0.1
  43. c1.org|CNAME|c.org|c1.org|A|127.0.0.2
  44. e.com|CNAME|f.com|||
  45. f.com|CNAME|g.com|||
  46. g.com|CNAME|h.com|||
  47. h.com|CNAME|e.com|||
  48. i.com|CNAME|j.com|||
Advertisement
Add Comment
Please, Sign In to add comment