将源表旋转/转发到新视图和合并行

问题描述 投票:0回答:2

我不知道要从SourceTableNewViewResult的语句。

当前源仍在Microsoft SQL Server 2012上。

Description of Source and expected result

下面是创建和填充SourceTable的代码:

CREATE TABLE SourceTable
(
    [Contract] [nvarchar] (255) NULL,
    [Role] [nvarchar] (255) NULL,
    [Name] [nvarchar] (255) NULL
);

INSERT INTO [SourceTable] ([Contract], [Role], [Name]) 
VALUES ('First Contract', 'Author', 'Tom');
INSERT INTO [SourceTable] ([Contract], [Role], [Name]) 
VALUES ('First Contract', 'Manager', 'Ben');
INSERT INTO [SourceTable] ([Contract], [Role], [Name]) 
VALUES ('First Contract', 'Reviewer', 'Kate');
INSERT INTO [SourceTable] ([Contract], [Role], [Name]) 
VALUES ('First Contract', 'Signee', 'John');
INSERT INTO [SourceTable] ([Contract], [Role], [Name]) 
VALUES ('First Contract', 'Singee 2', 'Eli');
INSERT INTO [SourceTable] ([Contract], [Role], [Name]) 
VALUES ('Another Contract', 'Author', 'Chris');
INSERT INTO [SourceTable] ([Contract], [Role], [Name]) 
VALUES ('Another Contract', 'Manager', 'Susan');
INSERT INTO [SourceTable] ([Contract], [Role], [Name]) 
VALUES ('Another Contract', 'Reviewer', 'Davis');
INSERT INTO [SourceTable] ([Contract], [Role], [Name]) 
VALUES ('Another Contract', 'Reviewer', 'Tomi');
INSERT INTO [SourceTable] ([Contract], [Role], [Name]) 
VALUES ('Another Contract', 'Reviewer', 'Jane');
INSERT INTO [SourceTable] ([Contract], [Role], [Name]) 
VALUES ('Another Contract', 'Reviewer', 'Dolly');
INSERT INTO [SourceTable] ([Contract], [Role], [Name]) 
VALUES ('Another Contract', 'Reviewer', 'Ray');
INSERT INTO [SourceTable] ([Contract], [Role], [Name]) 
VALUES ('Another Contract', 'Reviewer', 'Pat');
INSERT INTO [SourceTable] ([Contract], [Role], [Name]) 
VALUES ('Another Contract', 'Reviewer', 'Amy');
INSERT INTO [SourceTable] ([Contract], [Role], [Name]) 
VALUES ('Another Contract', 'Signee', 'Eli');
INSERT INTO [SourceTable] ([Contract], [Role], [Name]) 
VALUES ('Another Contract', 'Signee 2', 'John');

“新视图的源表”“>

我无法弄清楚从SourceTable到NewViewResult的语句。当前源仍在Microsoft SQL Server 2012上。源描述和预期结果以下是...

sql-server pivot concat
2个回答
0
投票

我将通过条件聚合来做到这一点:


0
投票

谢谢Caius。我也会检查这一点。

© www.soinside.com 2019 - 2024. All rights reserved.