0

私はデータベースに以下のようなテーブルを持っています:

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

私は一生懸命努力しましたが、解決策を見つけることができませんでした。

ありがとうございました。

4

1 に答える 1

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;

テーブルの問題は、列を集計できる数値がないため、集計として最小または最大を使用できることです。ここでデータエクスプローラーで実行中のクエリを確認できます

于 2011-12-21T00:53:22.803 に答える