【发布时间】:2010-12-11 06:09:00
【问题描述】:
在 SQL Server 2008 中,我有下表分数。我想为同一个学生同时显示 Score1 和 Score2。姓名和电子邮件相结合可唯一标识学生(姓名或电子邮件也可能丢失,例如 Jack 和 Maya@moon.com)。预期的输出显示为 T_Combined。
分数
Name Email Score1 Score2
John 'John@pluto.com' 75
Peter 'Peter@pluto.com' 34
Nina 'Nina@pluto.com' 45
Joseph 'Joseph@pluto.com' 76
Tom 'Tom@pluto.com' 43
Sam 'Sam@pluto.com' 76
Nancy 'Nancy@pluto.com' 12
Tina 'Tina@pluto.com' 56
John 'John@mars.com' 98
Peter 'Peter@mars.com' 12
Nina 'Nina@mars.com' 45
Joseph 'Joseph@mars.com' 87
Tom 'Tom@mars.com' 67
Sam 'Sam@mars.com' 99
Nancy 'Nancy@mars.com' 33
Tina 'Tina@mars.com' 23
John 'John@pluto.com' 86
Peter 'Peter@pluto.com' 56
Nina 'Nina@pluto.com' 98
Joseph 'Joseph@pluto.com' 78
Tom 'Tom@pluto.com' 12
Sam 'Sam@pluto.com' 45
Nancy 'Nancy@pluto.com' 76
Tina 'Tina@pluto.com' 78
John 'John@mars.com' 98
Peter 'Peter@mars.com' 45
Nina 'Nina@mars.com' 76
Joseph 'Joseph@mars.com' 12
Tom 'Tom@mars.com' 84
Sam 'Sam@mars.com' 27
Nancy 'Nancy@mars.com' 54
Tina 'Tina@mars.com' 50
Jack 10
'Maya@moon.com' 20
T_Combined
Name Email Score1 Score2
John 'John@pluto.com' 86
Peter 'Peter@pluto.com' 56
Nina 'Nina@pluto.com' 98
Joseph 'Joseph@pluto.com' 78
Tom 'Tom@pluto.com' 43 12
Sam 'Sam@pluto.com' 76 45
Nancy 'Nancy@pluto.com' 12
Tina 'Tina@pluto.com' 56
John 'John@mars.com' 98
Peter 'Peter@mars.com' 12
Nina 'Nina@mars.com' 45 76
Joseph 'Joseph@mars.com' 87 12
Tom 'Tom@mars.com' 67 84
Sam 'Sam@mars.com' 99 27
Nancy 'Nancy@mars.com' 33 54
Tina 'Tina@mars.com' 23 50
Jack 10
'Maya@moon.com' 20
非常感谢
创建表Score (Name varchar(20),Email varchar(20),Score1 int,Score2 int)
插入分数(姓名,电子邮件,Score1)值('John','John@pluto.com',75) 插入分数(姓名,电子邮件,Score1)值('Peter','Peter@pluto.com',34) 插入 Score (Name,Email,Score1)values('Nina','Nina@pluto.com',45) 插入分数(姓名,电子邮件,Score1)值('Joseph','Joseph@pluto.com',76) 插入 Score (Name,Email,Score1)values('Tom','Tom@pluto.com',43) 插入分数(姓名,电子邮件,Score1)值('Sam','Sam@pluto.com',76) 插入分数(姓名,电子邮件,Score1)值('Nancy','Nancy@pluto.com',12) 插入 Score (Name,Email,Score1)values('Tina','Tina@pluto.com',56) 插入分数(姓名,电子邮件,Score1)值('John','John@mars.com',98) 插入分数(姓名,电子邮件,Score1)值('Peter','Peter@mars.com',12) 插入分数(姓名,电子邮件,Score1)值('Nina','Nina@mars.com',45) 插入分数(姓名,电子邮件,Score1)值('Joseph','Joseph@mars.com',87) 插入分数(姓名,电子邮件,Score1)值('Tom','Tom@mars.com',67) 插入分数(姓名,电子邮件,Score1)值('Sam','Sam@mars.com',99) 插入分数(姓名,电子邮件,Score1)值('Nancy','Nancy@mars.com',33) 插入 Score (Name,Email,Score1)values('Tina','Tina@mars.com',23)
插入分数(姓名,电子邮件,分数2)值('John','John@pluto.com',86) 插入分数(姓名,电子邮件,Score2)值('Peter','Peter@pluto.com',56) 插入 Score (Name,Email,Score2)values('Nina','Nina@pluto.com',98) 插入分数(姓名,电子邮件,分数2)值('约瑟夫','约瑟夫@pluto.com',78) 插入分数(姓名,电子邮件,分数2)值('Tom','Tom@pluto.com',12) 插入分数(姓名,电子邮件,分数2)值('Sam','Sam@pluto.com',45) 插入分数(姓名,电子邮件,分数2)值('Nancy','Nancy@pluto.com',76) 插入 Score (Name,Email,Score2)values('Tina','Tina@pluto.com',78) 插入分数(姓名,电子邮件,分数2)值('John','John@mars.com',98) 插入分数(姓名,电子邮件,Score2)值('Peter','Peter@mars.com',45) 插入分数(姓名,电子邮件,Score2)值('Nina','Nina@mars.com',76) 插入分数(姓名,电子邮件,分数2)值('约瑟夫','约瑟夫@mars.com',12) 插入分数(姓名,电子邮件,分数2)值('Tom','Tom@mars.com',84) 插入分数(姓名,电子邮件,分数2)值('Sam','Sam@mars.com',27) 插入分数(姓名,电子邮件,Score2)值('Nancy','Nancy@mars.com',54) 插入 Score (Name,Email,Score2)values('Tina','Tina@mars.com',50)
插入分数 (Name,Score1)values('Jack',10) 插入 Score (Email,Score2)values('Maya@moon.com',20)
【问题讨论】:
-
你能更好地格式化你的问题吗?选择表格数据并使用Ctrl-K将其格式化为代码。