我在数据库中有以下表格:
Name Grade Subject
Ami HD Java
Ami D C++
Bec D Java
Bec P C++
是否可以仅使用SQL以下面给出的格式显示它:
Name Java C++
Ami HD D
Bec D P
我努力了,但找不到解决方案。
谢谢。
答案 0 :(得分:2)
试试这个:
SELECT
Name,
MAX(CASE Subject WHEN 'C++' THEN Grade END) 'C++',
MAX(CASE Subject WHEN 'Java' THEN Grade END) 'Java'
FROM @test
GROUP BY Name;
您的表的问题在于您没有可以聚合列的数值,因此您可以使用Min或max作为聚合。 您可以在数据资源管理器here
中查看操作中的查询