xxyyzz521 2013-09-13 08:24 采纳率: 0%
浏览 8213

sqlserver2005 存储过程不能返回 table吗?

这是存储过程中的一段sql

select * into #TB_JFFPTB1
from
(
select TB_JingFei.JF_MC,TB_JingFeiFenPei.JFFP_ID,TB_JingFeiFenPei.JF_KYYE,
TB_ZiYuanLeiBie.ZYLB_MC,TB_JingFeiQueRen.JFQR_ID,TB_JingFeiQueRen.GMSQ_ID,TB_JingFeiQueRen.JFQR_JE
from TB_JingFei
inner join TB_JingFeiFenPei
on TB_JingFei.JF_ID=TB_JingFeiFenPei.JF_ID and TB_JingFeiFenPei.JF_LB=1
left join TB_ZiYuanLeiBie
on TB_JingFeiFenPei.ZYLB_ID=TB_ZiYuanLeiBie.ZYLB_ID
left join TB_JingFeiQueRen
on TB_JingFeiFenPei.JFFP_ID=TB_JingFeiQueRen.JFFP_ID and TB_JingFeiQueRen.JFQR_JFLB=1
and TB_JingFeiQueRen.GMSQ_ID=8

where TB_JingFei.JF_NF='2013'
) Temp
declare @sql1 varchar(8000)
set @sql1 = 'select JF_MC as 经费名称'
select @sql1 = @sql1 + ' , max(case ZYLB_MC when ''' + ZYLB_MC + ''' then isnull(JF_KYYE,0) else 0 end) [' + ZYLB_MC + '] ,
max(case ZYLB_MC when ''' + ZYLB_MC + ''' then isnull(JFQR_JE,0) else 0 end) [确认' + ZYLB_MC + '],
max(case ZYLB_MC when ''' + ZYLB_MC + ''' then JFFP_ID else 0 end) [' + ZYLB_MC + 'ID],
max(case ZYLB_MC when ''' + ZYLB_MC + ''' then JFQR_ID else 0 end) [' + ZYLB_MC + 'QRID]'
from (select distinct ZYLB_MC from #TB_JFFPTB1) as a
set @sql1 = @sql1 + ' from #TB_JFFPTB1 group by JF_MC'
exec(@sql1)

出现的问题是,在sql2008中,会输出一张表,在sql2005中却没有输出结果,不明白为什么

  • 写回答

1条回答

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2023-02-10 11:15
    关注

    该回答引用ChatGPT

    看起来是因为 SQL Server 2005 和 SQL Server 2008 的兼容性问题导致的。请尝试在 SQL Server 2005 中执行以下操作:

    • 先删除所有已存在的 #TB_JFFPTB1 临时表

    • 确保 #TB_JFFPTB1 临时表中的数据可以正确插入。

    • 确保以下结构是否存在: TB_JingFei、TB_JingFeiFenPei、TB_ZiYuanLeiBie、TB_JingFeiQueRen

    在 SQL Server 2005 中测试以下语句的输出:

    select * into #TB_JFFPTB1
    from
    (
    select TB_JingFei.JF_MC,TB_JingFeiFenPei.JFFP_ID,TB_JingFeiFenPei.JF_KYYE,
    TB_ZiYuanLeiBie.ZYLB_MC,TB_JingFeiQueRen.JFQR_ID,TB_JingFeiQueRen.GMSQ_ID,TB_JingFeiQueRen.JFQR_JE
    from TB_JingFei
    inner join TB_JingFeiFenPei
    on TB_JingFei.JF_ID=TB_JingFeiFenPei.JF_ID and TB_JingFeiFenPei.JF_LB=1
    left join TB_ZiYuanLeiBie
    on TB_JingFeiFenPei.ZYLB_ID=TB_ZiYuanLeiBie.ZYLB_ID
    left join TB_JingFeiQueRen
    on TB_JingFeiFenPei.JFFP_ID=TB_JingFeiQueRen.JFFP_ID and TB_JingFeiQueRen.JFQR_JFLB=1
    and TB_JingFeiQueRen.GMSQ_ID=8
    
    where TB_JingFei.JF_NF='2013'
    ) Temp
    

    如果以上步骤中的任何一步出现了问题,请解决它。

    评论

报告相同问题?

悬赏问题

  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题