2010-12-10 14 views
1

SQLサーバー2008では、私は以下の表スコアを持っています。私は同じ学生のためにScore1とScore2を一緒に見せたいと思っています。名前とメールを組み合わせると、生徒が一意に識別されます(Jackや[email protected]のように名前やメールアドレスが欠落している可能性があります)。期待される出力は、T_Combinedとして示されています。T-SQL条件に基づいてレコードをマージする

Name Email Score1 Score2 
John '[email protected]' 75 
Peter '[email protected]' 34 
Nina '[email protected]' 45 
Joseph '[email protected]' 76 
Tom '[email protected]' 43 
Sam '[email protected]' 76 
Nancy '[email protected]' 12 
Tina '[email protected]' 56 
John '[email protected]' 98 
Peter '[email protected]' 12 
Nina '[email protected]' 45 
Joseph '[email protected]' 87 
Tom '[email protected]' 67 
Sam '[email protected]' 99 
Nancy '[email protected]' 33 
Tina '[email protected]' 23 
John '[email protected]'  86 
Peter '[email protected]'  56 
Nina '[email protected]'  98 
Joseph '[email protected]'  78 
Tom '[email protected]'  12 
Sam '[email protected]'  45 
Nancy '[email protected]'  76 
Tina '[email protected]'  78 
John '[email protected]'  98 
Peter '[email protected]'  45 
Nina '[email protected]'  76 
Joseph '[email protected]'  12 
Tom '[email protected]'  84 
Sam '[email protected]'  27 
Nancy '[email protected]'  54 
Tina '[email protected]'  50 
Jack  10 
'[email protected]'  20 

Name Email Score1 Score2 
John '[email protected]'  86 
Peter '[email protected]'  56 
Nina '[email protected]'  98 
Joseph '[email protected]' 78 
Tom '[email protected]' 43 12 
Sam '[email protected]' 76 45 
Nancy '[email protected]' 12 
Tina '[email protected]' 56 
John '[email protected]' 98 
Peter '[email protected]' 12 
Nina '[email protected]' 45 76 
Joseph '[email protected]' 87 12 
Tom '[email protected]' 67 84 
Sam '[email protected]' 99 27 
Nancy '[email protected]' 33 54 
Tina '[email protected]' 23 50 
Jack  10 
'[email protected]'  20 

感謝

テーブルスコア(名前はvarchar(20)、メールはvarchar(20)、SCORE1 int型、Score2 int型)を作成します

をT_Combinedスコア

スコア(名前、電子メール、スコア1)の値( 'John'、 'John @ pluto.com'、75)スコア(名前、電子メール、スコア1)の値( 'Peter'、 'Peter @ pluto.com'、34) スコア(Name、Email、Score1)の値に挿入してください( 'Nina'、 '[email protected] '、45) スコア(名前、電子メール、スコア1)の値(' Joseph '、' Joseph @ pluto.com '、76) スコア(名前、電子メール、スコア1) ( 'Sam'、 'Sam @ pluto.com'、76) Score(Name、Email、Score1)の値に挿入する( 'Nancy、@ pluto.com'、43) スコア'、' Nancy @ pluto.com '、12) スコア(名前、Eメール、スコア1)の値(' Tina '、' Tina @ pluto.com '、56) スコアに挿入(名前、メール、スコア1) ( 'John'、 'John @ mars.com'、98) スコア(名前、電子メール、スコア1)の値( 'Peter'、 'Peter @ mars.com'、12) スコアに挿入電子メール、スコア1)の値( 'Ni (Joseph '、' Joseph @ mars.com '、87) スコアに挿入する(名前、Eメール、スコア1)スコア(名前、Eメール、スコア1) (Sam '、' Sam @ mars.com '、99) スコア(名前、電子メール、スコア1)に値を挿入する(' Tom '、' Tom @ mars.com '、67) ( 'Tina'、 'Tina @ mars.com'、23)​​

スコア(名前、電子メール、スコア1)に値を挿入すると、(Nancy、Nancy @ mars.com、33) ( 'John'、 'John @ pluto.com'、86)

スコア(名前、電子メール、スコア2)の値( 'Peter'、 'Peter @ pluto。スコア(Name、Email、Score2)に値を挿入する( 'Nina'、 'Nina @ pluto.com'、98) スコアに挿入する( 'Tom'、 'Tom @ pluto.com'、12) の値( 'Joseph'、 'Joseph @ pluto.com'、78) スコア(名前、電子メール、スコア2)スコア(Name、Email、Score2)値( 'Sam'、 'Sam @ pluto.com'、45) 値( 'Nancy'、 '[email protected]'、スコア(名前、Eメール、スコア2)の値( 'Tina'、 'Tina @ pluto.com'、78) スコア(名前、電子メール、スコア2)スコア(名前、電子メール、スコア2)に値を挿入する( 'Nina'、 'Nina @ mars.com'、76) 値( 'Joseph'、 'Joseph @ mars.com'、12) スコア(名前、電子メール、スコア2)に値を挿入する(名前、メール、スコア2) 'Tom'、 'Tom @ mars.com'、84)スコア(名前、電子メール、スコア2)の値( 'Sam'、 'Sam @ mars.com'、27) の値( 'Nancy'、 '[email protected])にの値を挿入'、54) スコア(名前、電子メール、スコア2)の値(' Tina '、' Tina @ mars.com '、50)

スコア(名前、スコア1)の値) スコア(Email、Score2)の値( 'Maya @ moon。com '、20)

+1

あなたの質問をより適切にフォーマットできますか?テーブルデータを選択し、Ctrl + Kキーを押してコードとしてフォーマットします。 – Rudi

答えて

2
select Name, Email, isnull(SUM(Score1),'') as Score1, isnull(SUM(Score2),'') as Score2 
    from Score 
    group by Name, Email 
+0

偉大な仕事のサー! – user219628

関連する問題