base_organ_school_tree.tpl 741 B

123456789101112131415161718192021222324252627282930
  1. SELECT * FROM (
  2. SELECT
  3. id,
  4. name,
  5. organ_id + 20000 parent
  6. FROM
  7. base_organ_school
  8. WHERE
  9. del_flag = 0 and onoff != 99
  10. UNION
  11. SELECT
  12. DISTINCT base_organ.id + 20000 id,
  13. name,
  14. CASE WHEN base_organ.parent != 0 THEN base_organ.parent + 20000 END parent
  15. FROM
  16. base_organ
  17. JOIN (
  18. SELECT
  19. organ_id,
  20. parent,
  21. base_organ.inheritance
  22. FROM
  23. base_organ_school, base_organ
  24. WHERE
  25. base_organ_school.del_flag = 0
  26. ) base_organ_school ON base_organ.id IN (base_organ_school.organ_id, base_organ_school.parent) OR base_organ_school.inheritance like concat('%|', base_organ.id, '|%')
  27. WHERE
  28. del_flag = 0
  29. )os_tree
  30. ORDER BY parent,id