0

这是复制记录的查询

CREATE TABLE test(
    id int,
    name varchar(20),
    nameID int
);

insert into test
values(1,'test1',1),
      (1,'test2',2),
      (1,'test3',3),
      (1,'test4',4),
      (1,'test5',5)

select 
    t1.name,
    t2.name
from 
    (select * from test where nameID in (1,2)) t1 left join 
    (select * from test where nameID in (3,4,5)) t2 on t1 .id = t2.id

当前输出为

测试
1 测试3 测试1 测试4 测试1 测试5 测试2 测试3 测试2 测试4 测试2
测试 5



但我想在 SSRS 中展示的是

测试1 测试3 测试4 测试2
          测试
5

基本上,在每个id组中,我只想展示不同的价值观。HideDuplicates(背后的逻辑是一个 id 组(一个文档)可以有多个批准者和soignee)到目前为止,我尝试过group但没有运气。

4

1 回答 1

0

干得好

CREATE TABLE test(
    id int,
    name varchar(20),
    nameID int
);

insert into test
values(1,'test1',1),
      (1,'test2',2),
      (1,'test3',3);

SELECT T2.Name, T1.Name
FROM Test T1 LEFT JOIN
     (SELECT * FROM Test WHERE NameID IN (1, 3)) T2 
ON T1.NameID = T2.NameID;

或者

SELECT T1.Name, T2.Name
FROM Test T1 LEFT JOIN
     (SELECT * FROM Test WHERE NameID % 2 = 1) T2 
ON T1.NameID = T2.NameID;

结果:

+-------+-------+
| Name  | Name  |
+-------+-------+
| test1 | test1 |
| test2 |       |
| test3 | test3 |
+-------+-------+
于 2018-10-14T12:49:32.093 回答