求一从复杂子查询中剔除重复数据的SQL语句
有一个剔除表a重复的语句(查询a) 
 select   *   from   表a   m   where    
 not   exists    
 (select   1   from   表a   where    
 content=m.content   and   表a.id> m.id)   
 问题:被用来剔重的表是一个非常长而且复杂的子查询(查询b)   
 是不是我就只能把   查询b   放在   查询a   中那两个写了表a 
 的位置上 
 来形成一个更加复杂而长的查询?     
------解决方案--------------------1--- 
 select * from (select ... from ta ) m where  
 not exists  
 (select 1 from (select ... from ta ) a where  
 a.content=m.content and a.id> m.id)   
 2-- 
 select * into # from ta 
 select * from # m where  
 not exists  
 (select 1 from # a where  
 a.content=m.content and a.id> m.id)   
 drop table #
------解决方案--------------------是不是我就只能把 查询b 放在 查询a 中那两个写了表a 
 的位置上 
 来形成一个更加复杂而长的查询? 
 ==========这样做也可以,但建议楼主还是先把查询b放到一个临时表,再用临时表,代入到a表中的位置
------解决方案--------------------建议楼主 把“一个非常长而且复杂的子查询(查询b)” 做成一个试图,然后在查询A 里面直接调用这个试图,当然你也可以直接把(查询b) 替换 查询A 里面的表a 
 如果算做存储过程的话,可以把(查询b)的查询结果 放到一个临时表 里面,这样效率会高一写
------解决方案--------------------数据量不是特别大的情况下建议用临时表