2013-03-08 109 views
0
定义子选择查询一次

我正在写一个选择查询,在那里我有写相同的子查询在两个地只为多选择

select e.MasterAccNumber from (
select MasterAccNumber from ACE_AccsLevelTran where CAST(timstmp as DATE) = '02/06/2013' 
union all 
select m.AccountNumber from ACE_InvLevelTran i left join ACE_InvLevelMaster m i.MasterInvNumber=m.InvoiceNo 
where CAST(i.timstmp as date) ='02/06/2013') as e where e.MasterAccNumber not in( 
select e.MasterAccNumber from e group by e.MasterAccNumber having COUNT(e.MasterAccNumber) > 1) 

在这里的最后一个子查询分析器无法理解的对象E

select e.MasterAccNumber from e group by e.MasterAccNumber having COUNT(e.MasterAccNumber) > 1 

如何写,这样我就不会多次定义“e”。

回答

0
select MasterAccNumber from 
(
select MasterAccNumber from ACE_AccsLevelTran where CAST(timstmp as DATE) = '02/06/2013' 
union all 
select m.AccountNumber from ACE_InvLevelTran i 
left join ACE_InvLevelMaster m i.MasterInvNumber=m.InvoiceNo 
where CAST(i.timstmp as date) ='02/06/2013' 
) e 
group by MasterAccNumber 
having COUNT(MasterAccNumber) < 2