以查询结果为依据的一个存储过程
各位高手,上次我解决了这样一个问题:   
 我一个prodcut表 
 product 
 a 
 b 
 c 
 d 
 e 
 f 
 g 
 . 
 . 
 . 
 另一个表he_productorder 
 breed               amount 
 a                                 5 
 c                                 3 
 e                                 2 
 g                                 8 
 现要求查询出结果如下 
 breed            amount 
 a                                 5                         
 b 
 c                                 3 
 d 
 e                                 2 
 f 
 g                                 8 
 . 
 . 
 . 
 无数据的品种一定要显示为空. 
 解决方案为: 
 --存储过程 
 CREATE   procedure   he_o;1 
 @shopname   varchar(20) 
 as 
 Select   he_product.product,isnull(cast(T.amount   as   char(5)), ' ')   amount 
 From   he_product   Left   outer   join   (Select   breed,amount   From   he_productorder_view   where   sname=@shopname)   T    
 On   he_product.product=T.breed 
 GO   
 现在我又碰到了一个问题,比如以下存储过程 
 CREATE   PROCEDURE   he_order;5 
 @Tname   varchar(16) 
 as 
 SELECT   Breed,sum(amount)   as   amount   FROM   He_ProductOrder_view    
 WHERE   (TName   =   @Tname)   and   (Amount    <>    -   100) 
 GROUP   BY   Breed,PId   ORDER   BY   PId 
 GO 
 得到结果如下: 
 breed         amount 
 1                           50 
 2                           30    
 4                           20 
 6                           15 
 8                           10 
 11                        23 
 我要从以上结果中以breed为依据来找到订货情况实现如下效果: 
 breed         amount 
 1                           2 
 2                         
 4                           8 
 6                           2       
 8                
 11                        9 
 其实就是把原来的product表换成现在的那个存储过程的结果,可是我比较菜,请赐教!
------解决方案--------------------你這裡要麼用實體表或者用全局臨時表,用局部臨時表的話,就由於作用域的問題在外部無法調用。   
 可以參考下這個帖子。   
 http://community.csdn.net/Expert/TopicView.asp?id=5429308