你自己再和 SURFACE通过ID连接一下:WITH t1 AS

SELECT 'l1' line_id,'1' start_surface_id,'A' end_surface_id FROM dual UNION ALL 
SELECT 'l2' line_id,'1' start_surface_id,'B' end_surface_id FROM dual UNION ALL 
SELECT 'l3' line_id,'B' start_surface_id,'C' end_surface_id FROM dual UNION ALL 
SELECT 'l4' line_id,'C' start_surface_id,'D' end_surface_id FROM dual UNION ALL 
SELECT 'l5' line_id,'1' start_surface_id,'E' end_surface_id FROM dual UNION ALL 
SELECT 'l6' line_id,'1' start_surface_id,'F' end_surface_id FROM dual UNION ALL 
SELECT 'l7' line_id,'G' start_surface_id,'H' end_surface_id FROM dual )
SELECT distinct(t.end_surface_id) FROM (
SELECT * FROM t1
START WITH t1.start_surface_id='1'
CONNECT BY PRIOR t1.end_surface_id=t1.start_surface_id) t
ORDER BY T.END_SURFACE_ID