这里为什么不能加括号?
表TradeTable如下:CustomereId   int,   TradeTime   datetime,   TransMoney   money 
 现在想取得每月交易金额最大的客户的客户号(要求使用表变量)   
 declare   @t   table(CustomereId   int,   TotalMoney   money) 
 insert   into   @t    
 ----------------------------------------------- 
 		(select      CustomereId,   sum(TransMoney)   as   total    
 		from   TradeTable 
 		where   datediff(mm,TradeTime,getdate())   =   0 
 		group   by   CustomereId 
 		order   by   total   desc) 
 -------------------------------------------------		 
 select   top   1   CustomereId   from   @t 
 运行失败,但是去掉注释线间的代码的括号后,就运行成功,即 
 declare   @t   table(CustomereId   int,   TotalMoney   money) 
 insert   into   @t    
 		select      CustomereId,   sum(TransMoney)   as   total    
 		from   TradeTable 
 		where   datediff(mm,TradeTime,getdate())   =   0 
 		group   by   CustomereId 
 		order   by   total   desc		 
 select   top   1   CustomereId   from   @t	 
 不知道为什么会这样?请哪位能指点一二	,谢谢     
------解决方案--------------------不是不能把结果集括起来,这个要看具体情况的。   
 比如insert的语法就是insert into table1 select fieldlist from table2 
 这种情况下肯定不能加()   
 而select * from (select top 1 * from table1)a 
 这种情况下就必须加()了
------解决方案--------------------往表里插入值的时候,如果是用Insert开头的话,只有后面跟有Value的,才需要用括号 。 
 如果是把一个查询的结果集插入的话,就不需要括号。   
 这是语法规定的,没有原因。