优化union
表名:table1 
 表结构: 
 id               parentid         childid 
 1                     11                           22 
 2                     11                           33 
 3                     44                           11    
 4                     55                           11                  
 我现在用的sql语句是: 
 (select   childid   as   A   from   table1   where   parentid= '11 ')   union   (select   parentid   as   A   from   table1   where   childid= '11 '.)   
 得到的结果是: 
       A 
       22 
       33 
       44    
       55   
 我想问一下,有没有更简单、效率更高的的sql能实现这个功能。
------解决方案--------------------select  
     (case when parentid=11 then childid else parentid end) as A  
 from  
     table1 
 where 
     parentid=11 or childid=11
------解决方案--------------------id     parentid   childid 
 1       11         22 
 2       11         33 
 3       44         11  
 4       55         11        
 declare @a table(id int identity(1,1),parentid int,childid int) 
 insert @a 
 select 11,22 
 union all 
 select 11,33 
 union all 
 select 44,11 
 union all 
 select 55,11 
 -------------------------- 
 select case when parentid=11 then childid else parentid end a 
 from @a      
 得到的结果是: 
   A 
   22 
   33 
   44  
   55