Sql select 具有分组行

Sql select with grouping rows

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

它是单个 "task" 有 2 个参数 (t1,t2) "grouped" 按人类型(第 1、2)

是否可以在 Reporting Service 的图片上select这样的信息?:

或者唯一的方法是将这个 table 分成两个 table 用于每个人类型?

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

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

请尝试以下查询:

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