收录日期:2020/05/26 04:29:32 时间:2016/05/20 19:49:41 标签:疑难问题

写了一个存储过程,如下:

CREATE  PROCEDURE pro_tanwei_sel_totalfp  AS

 DECLARE @sql varchar(8000)
SET @sql = 'select dic,'
          SELECT @sql = @sql + 'sum(case zhanqu  when ''' + zhanqu + ''' 
                          then tanweishunum else 0 end) as ['
               + zhanqu + '],'
        FROM (SELECT DISTINCT zhanqu
                FROM department) a
                  SELECT @sql = LEFT(@sql, len(@sql) - 1) 
                      + ' from department group by  dic' 
exec(@sql)

GO
存储过程该怎样写,在程序调用才能返回记录集?
呵呵,帮你顶一下。呵呵~~~
insert到全局临时表(##temptable)后再调用。
CREATE  PROCEDURE pro_tanwei_sel_totalfp  AS


 DECLARE @sql varchar(8000)
SET @sql = 'select dic'
     SELECT @sql = @sql+',sum(case zhanqu  when '''+zhanqu+'''then tanweishunum else 0 end) ['+zhanqu+']'
        FROM (SELECT DISTINCT zhanqu FROM department) a
                  SELECT @sql =@sql+' into ##临时表 from department group by  dic' 
exec(@sql)

select * from ##临时表

GO
CREATE  PROCEDURE pro_tanwei_sel_totalfp  AS


 DECLARE @sql varchar(8000)
SET @sql = 'select dic'
     SELECT @sql = @sql+',sum(case zhanqu  when '''+zhanqu+'''then tanweishunum else 0 end) ['+zhanqu+']'
        FROM (SELECT DISTINCT zhanqu FROM department) a
                  SELECT @sql =@sql+' into ##临时表 from department group by  dic' 
exec(@sql)

select * from ##临时表

GO
CREATE  PROCEDURE pro_tanwei_sel_totalfp  AS


 DECLARE @sql varchar(8000)
SET @sql = 'select dic'
     SELECT @sql = @sql+',sum(case zhanqu  when '''+zhanqu+'''then tanweishunum else 0 end) ['+zhanqu+']'
        FROM (SELECT DISTINCT zhanqu FROM department) a
                  SELECT @sql =@sql+' into ##临时表 from department group by  dic' 
exec(@sql)

select * from ##临时表

GO
dsf
CREATE  PROCEDURE pro_tanwei_sel_totalfp  AS


 DECLARE @sql varchar(8000)
SET @sql = 'select dic'
     SELECT @sql = @sql+',sum(case zhanqu  when '''+zhanqu+'''then tanweishunum else 0 end) ['+zhanqu+']'
        FROM (SELECT DISTINCT zhanqu FROM department) a
                  SELECT @sql =@sql+' into ##临时表 from department group by  dic' 
exec(@sql)

select * from ##临时表

GO
我发现直接用
CREATE    PROCEDURE  pro_tanwei_sel_totalfp    AS  
 
 DECLARE  @sql  varchar(8000)  
SET  @sql  =  'select  dic,'  
                   SELECT  @sql  =  @sql  +  'sum(case  zhanqu    when  '''  +  zhanqu  +  '''    
                                                   then  tanweishunum  else  0  end)  as  ['  
                             +  zhanqu  +  '],'  
               FROM  (SELECT  DISTINCT  zhanqu  
                               FROM  department)  a  
                                   SELECT  @sql  =  LEFT(@sql,  len(@sql)  -  1)    
                                           +  '  from  department  group  by    dic'    
exec(@sql)  
 
GO  

在程序中用记录集打开pro_tanwei_sel_totalfp也可以,感谢各位!!!
我发现直接用
CREATE    PROCEDURE  pro_tanwei_sel_totalfp    AS  
 
 DECLARE  @sql  varchar(8000)  
SET  @sql  =  'select  dic,'  
                   SELECT  @sql  =  @sql  +  'sum(case  zhanqu    when  '''  +  zhanqu  +  '''    
                                                   then  tanweishunum  else  0  end)  as  ['  
                             +  zhanqu  +  '],'  
               FROM  (SELECT  DISTINCT  zhanqu  
                               FROM  department)  a  
                                   SELECT  @sql  =  LEFT(@sql,  len(@sql)  -  1)    
                                           +  '  from  department  group  by    dic'    
exec(@sql)  
 
GO  

在程序中用记录集打开pro_tanwei_sel_totalfp也可以,感谢各位!!!
同意楼上的说法,直接执行就可以了。

请问怎么能够实现?? 菜鸟问题---啥是堆啊? 关于MP3文件格式? 升级内核问题 win98th 请问今年的高级程序员什么时候考试? 困扰了我很久的问题!(出高分) 怎么样把位图(不是256色的)文件加入工程? 在5005switch上2个不同网段的机子pc怎么访问 日期变化问题 如何将目录结构转化为html文件 ReadBook软件有没有使用过!它的自动向上滚动字幕功能是怎么做到的?还有,它的智能分段又是怎么做到的? 快来帮忙呀 突然遇到一个问题不知道怎么解决.picturebox里图像大小的问题 文件上传的问题:怎样把form提交上来的图片中无用的数据给去除。怎么看出那些是无用的呢? 刚刚接触ASP,请教各位。 关于Active Directory的问题 利用二叉平衡树实现一个动态查找表 问:怎样的到局域网内另一台机子的文件和文件名?怎样打开这个文件??? win2000server 有关CEdit类的一个问题 声音 如何在win2000(不是域控制器)上用程序添加用户?用net user没能添加上。 我不想放充VC++,朋友助我打打气吧! 能不能用xml,xsl,xpath,java组成一种应用程序格式? VB菜鸟之问题! 哪有vc7.0免序列码下载的50分要给就 事物的一致性! pb中的ole控件的使用?-刚学pb的我的烦恼 linux中怎么装应用程序呢