我在数据库中得到了如下表:
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
我已经尽力了,但是找不到解决办法。
谢谢。
试试这个:
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;
你的表的问题是没有数值可以聚合你的列,所以你可以使用最小或最大作为聚合。您可以在这里看到数据浏览器中的查询