更新SQL数据,合并列

Dil*_*eep 1 sql database sql-server group-by

我的表看起来像这样:

Name | Maths | Science | Social
-----+-------+---------+-------    
ABC    NULL      A+      NULL
ABC     B       NULL     NULL 
ABC    NULL     NULL      A
XYZ     A       NULL     NULL
XYZ    NULL      B       NULL
Run Code Online (Sandbox Code Playgroud)

情况是每个教师给出的成绩,并以上述格式存储在表格中.学生ABC已经参加了所有的论文并且他的表现有成绩,学生XYZ只出现数学和科学所以他应该只有两个等级

现在我的结果应该是这样的

Name | Maths | Science | Social
-----+-------+---------+-------    
ABC     B        A+        A
XYZ     A        B        NULL 
Run Code Online (Sandbox Code Playgroud)

我试图用我所有可能的选项来检索这个.

Gio*_*sos 5

如果您申请,MAX则将NULL忽略值,并为每个主题返回所需的值:

SELECT Name, MAX(Maths), MAX(Science), MAX(Social)
FROM Grades
GROUP BY Name
Run Code Online (Sandbox Code Playgroud)