Tsql 动态透视-如何以参数化方式获取列标题?

Tsql 动态透视-如何以参数化方式获取列标题?,tsql,Tsql,我希望为SAP B1(t-sql)编写一个查询,该查询将按总额和按月列出所有收入和支出项目 我已经成功地使用PIVOT编写了一个查询,但我不希望列标题被硬编码为:Jan-11、Feb-11、Mar-11。。。十二月十一日 相反,我希望以参数化方式生成列标题,以便在输入时: -------------------------------------- Query - Selection Criteria -------------------------------------- Posting

我希望为SAP B1(t-sql)编写一个查询,该查询将按总额和按月列出所有收入和支出项目

我已经成功地使用PIVOT编写了一个查询,但我不希望列标题被硬编码为:Jan-11、Feb-11、Mar-11。。。十二月十一日

相反,我希望以参数化方式生成列标题,以便在输入时:

-------------------------------------- Query - Selection Criteria -------------------------------------- Posting Date greater or equal 01.09.10 Posting Date smaller or equal 31.08.11 [OK] [Cancel]
我不知道SAP,但我想到了几件事:

  • 看起来您希望
    @listCol
    在方括号内包含一组数字,例如
    [07]、[08]、[09]…
    。但是,您的代码似乎没有将
    [
    放在该字符串的开头

  • 试着换线

    T0.[Refdate] >= '[%1]' AND
    T0.[Refdate] <= '[%2]'
    
    T0.[Refdate]>='[%1]'和
    T0.[Refdate]=“[%1]”和
    
    T0。[参考日期]嗨,卢克,谢谢你的回答。嗨,卢克,谢谢你的回答。不幸的是,这并不能解决我的问题。我意识到解决方案将非常困难。幸运的是,我找到了这篇有用的文章:我现在必须努力工作,使这些想法适应我的问题。向莱昂·赖致以最良好的问候
    T0.[Refdate] >= '[%1]' AND
    T0.[Refdate] <= '[%2]'
    
    T0.[Refdate] >= ''[%1]'' AND
    T0.[Refdate] <= ''[%2]''