0
我沒有太強烈地使用SQL。我一直要求創建一個表,其中顯示學生不同的課程可以在課程管理系統每個月的能力 期望的結果是輸出看起來像這樣:根據列值創建列
month | math | english
------------+-------+------------
12/1/2014 | 42 | 137
1/1/2015 | 137 | 76
2/1/2015 | 139 | 79
3/1/2015 | 143 | 83
「數學」和「英文」是course_kind
s,course_kind
是表course_capacities
上的一列。是否可以根據列中的各種值創建列?
我當前的SQL產生這樣的結果,這是不是最佳:
course_kind | month | capacity
-------------+------------+----------
math | 2015-01-01 | 47
math | 2015-02-01 | 43
math | 2015-03-01 | 43
math | 2015-04-01 | 45
math | 2015-05-01 | 46
math | 2015-06-01 | 46
math | 2015-07-01 | 46
math | 2015-08-01 | 46
math | 2015-09-01 | 47
math | 2015-10-01 | 47
math | 2015-11-01 | 47
math | 2015-12-01 | 47
english | 2015-01-01 | 97
english | 2015-01-01 | 73
english | 2015-02-01 | 76
english | 2015-03-01 | 79
english | 2015-04-01 | 83
english | 2015-05-01 | 83
english | 2015-06-01 | 87
english | 2015-07-01 | 89
english | 2015-08-01 | 91
english | 2015-09-01 | 93
english | 2015-10-01 | 97
english | 2015-11-01 | 97
english | 2015-12-01 | 97
這裏的SQL:
SELECT
course_capacities.course_kind,
monthly_course_capacities.month,
monthly_course_capacities.capacity
FROM course_capacities
INNER JOIN monthly_course_capacities ON course_capacities.id = monthly_course_capacities.course_capacity_id
ORDER BY course_capacities.course_kind ASC,
monthly_course_capacities.month ASC;