【问题标题】:Combining Multiple row values in a single line SSRS expression在单行 SSRS 表达式中组合多个行值
【发布时间】:2017-11-16 05:03:24
【问题描述】:

我的 SQL 输出中有三行,当我想在运行 SSRS 报告时查看它们时,我想在一行中查看它们。

源数据

这两列是 SSRS 报告中我的 DataSet1 的一部分。

我在 SSRS 报告(表达式)中的预期输出:2017 年第 1 学期、2017 年第 2 学期、2017 年第 3 学期

有人可以帮忙吗?

【问题讨论】:

    标签: sql sql-server reporting-services ssrs-2012 ssrs-expression


    【解决方案1】:

    是的,你可以使用 STUFF() 函数和 xml path 方法

    SELECT DISTINCT
           Semester = STUFF(
                           (
                               SELECT ','+CONCAT(Semester, ' ', [year])
                               FROM <table> FOR XML PATH('')
                           ), 1, 1, '')
    FROM <table>;
    

    更新:您可以使用CONCAT() 函数来组合yearSemester

    结果:

    Semester
    Semester 1 2017,Semester 2 2017,Semester 3 2017
    

    【讨论】:

    • 谢谢Yogesh。我刚刚意识到我错过了我的输出的那一年。以及如何在 SSRS 表达式中显示这一点?
    • 我已经更新了数据集,它运行良好。谢谢。
    【解决方案2】:

    检查这个 https://docs.microsoft.com/en-us/sql/t-sql/functions/stuff-transact-sql

    SELECT STUFF(
                 (SELECT ',' + Semesters 
                  FROM table t1
                  FOR XML PATH (''))
                 , 1, 1, '') AS Semesters from table t2
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-29
      • 2023-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-13
      相关资源
      最近更新 更多