2016-07-23 2 views
1

私はこのような結果を返すpostgresqlのクエリを使用しています。Postgrestクエリを再編成する

schedule |  day | subject | grade | 
=============================================== 
06 - 08 | Monday | Biology | Second | 
----------------------------------------------- 
08 - 10 | Monday | Chemistry | Third | 
----------------------------------------------- 
06 - 08 | Tuesday | Math  | Second | 
----------------------------------------------- 
10 - 12 | Wednesday | English | Second | 
----------------------------------------------- 
10 - 12 | Friday | Language | Second | 
----------------------------------------------- 

このような結果が必要な場合や、このような再構成を行う必要があります。

schedule | Monday | Tuesday| Wednesday | Friday | grade 
============================================================== 
06 - 08 | Biology | Math | null  | null | second 
-------------------------------------------------------------- 
10 - 12 | null  | null | English |Language | second 
-------------------------------------------------------------- 

私は何か助けや提案をいただきありがとうございます。

Thnks。

答えて

0

一つの方法は、条件付きの集合体である:私はgradeはどこから来るのか本当にわからないんだけど

select schedule, 
     max(case when day = 'Monday' then subject end) as Monday, 
     max(case when day = 'Tuesday' then subject end) as Tuesday, 
     max(case when day = 'Wednesday' then subject end) as Wednesday, 
     max(case when day = 'Friday' then subject end) as Friday, 
     min(grade) as grade, 
from t 
group by schedule; 

。上記は単なる推測です。

+0

Thnks、提案は完璧ですが、私が望むクエリが返されます。 –

関連する問題