【问题标题】:Sql select with grouping rows带有分组行的Sql选择
【发布时间】:2017-06-23 06:47:16
【问题描述】:

在 mssql-db 中,我有一个包含 5 列的表。 id, 1st_t1, 1st_t2, 2nd_t1, 2nd_t2

它是具有 2 个参数(t1,t2)的单个“任务”,按人员类型(1st,2nd)“分组”

是否可以在报告服务中在图片上选择这样的信息?:

或者唯一的方法是为每个人类型将这张桌子分成两张桌子?

【问题讨论】:

    标签: sql sql-server reporting-services group-by ssrs-2008


    【解决方案1】:

    在您的报告中,您的详细信息必须有两行。

    在第一行,您将拖放第一个人的数据,在第二行拖第二行,如下图所示

    【讨论】:

    • 我更新了我的答案。您可以直接在报告服务中执行此操作,以保持您的查询完整
    • 非常抱歉。这是非常简单明显的解决方案。非常感谢
    • 不客气!也许有时很明显,但我想到的第一个解决方案是更改 SQL,这不是最好的方法。
    【解决方案2】:

    请尝试以下查询:

    WITH T(ID, First_t1, First_t2, Second_t1, Second_t2)
    AS
    (
    SELECT *
    FROM
    (
    SELECT 1 ID, '1st_t1' First_t1, '1st_t2' First_t2, '2nd_t1' Second_t1, '2nd_t2' Second_t2
    UNION
    SELECT 2 ID, '1st_t1' First_t1, '1st_t2' First_t2, '2nd_t1' Second_t1, '2nd_t2' Second_t2
    UNION
    SELECT 3 ID, '1st_t1' First_t1, '1st_t2' First_t2, '2nd_t1' Second_t1, '2nd_t2' Second_t2 
    ) A
    )
    SELECT * FROM
    (
    SELECT '1st person' person, Id,First_t1 t1,First_t2 t2 FROM T
    union
    SELECT '2nd person' person, Id,Second_t1 t1,Second_t2 t2 FROM T
    ) B
    ORDER BY id
    

    【讨论】:

    • 这是我的第一个想法,但可以直接在报表服务中完成,从而保持 SQL 的简单和快速。
    猜你喜欢
    • 2017-09-26
    • 2017-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-09
    • 2015-02-04
    • 1970-01-01
    • 2020-05-24
    相关资源
    最近更新 更多