日期:2014-05-16  浏览次数:20811 次

谁帮我把这段SQL查询改成Access的查询
select   GuestID,LoginID,Name,ActivatePrice
into   #t   from   mAccount   a
where   exists(    
                      select   *   from   mAccount   where   GuestID= '8888 'and   LoginID=a.GuestID)    
while   @@rowcount> 0
                      update   a   set   ActivatePrice=a.ActivatePrice*b.ActivatePrice,LoginID=b.LoginID,Name=b.Name
                      from   #t   a,(
                                              select   GuestID,LoginID,Name,ActivatePrice
                                              from   mAccount   a
                                              where   exists(
                                                                      select   *   from     #t   where   LoginID=a.GuestID)    
                      )b   where   a.LoginID=b.GuestID    
 
selectGuestID,LoginID,Name,ActivatePrice=Sum(ActivatePrice)
from   #t  
group   by   GuestID,LoginID,Name  
drop   table   #t
go

------解决方案--------------------
Access中不支持临时表,需要用VBA代码+SQL处理。


Access使用的是Jet-SQL,SQL Server使用的是T-SQL,两者用法上相差很大。


JET SQL 帮助(jet4 access2000)下载地址

http://www.access911.net/index.asp?board=8&recordid=75FAB71E&tt=
------解决方案--------------------
要用VBA+临时表解决