使用SQL将单元格值显示为列名



我在数据库中得到了如下表:

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;

你的表的问题是没有数值可以聚合你的列,所以你可以使用最小或最大作为聚合。您可以在这里看到数据浏览器中的查询

相关内容

  • 没有找到相关文章

最新更新