我有以下視圖,其中顯示學生姓名,學生擁有的學分,並且我剛添加了一個名爲year的列,全部設置爲0。試圖將年份與大學生聯繫起來
+------------------+---------+------+
| StudentName | Credits | Year |
+------------------+---------+------+
| Jon Macleod | 0 | 0 |
| Carrie Gregory | 0 | 0 |
| Matt Hayden | 0 | 0 |
| Emily Scarlett | 10 | 0 |
| Hailey Taylor | 10 | 0 |
| Tj Davidson | 10 | 0 |
| Alex Harry | 20 | 0 |
| Matt Tosh | 20 | 0 |
| Mitchell Gallant | 20 | 0 |
| Jon Harris | 30 | 0 |
| Casey Macky | 30 | 0 |
| James Doolittle | 30 | 0 |
+------------------+---------+------+
我想這樣做,當學生有0個學分,他們是第一年。當一個學生有10個學分,他們是第二年,等等..
我有以下腳本,但不知道爲什麼它不起作用。
CREATE OR REPLACE VIEW Year AS
SELECT S.stu_name AS StudentName, SUM(Credits) AS Credits, 0 AS Year
FROM Student AS S JOIN Enrollment AS E
ON S.stu_id = E.stu_id
Case
when (Year = '0' and Credits = 0 then 'FirstYear'
when (Year = '0' and Credits = 10 then 'SecondYear'
else Year
end as Year
GROUP BY S.stu_id
ORDER BY Credits;
如果兩個學生有相同的名字會發生什麼? – Shomz
從SELECT學生名稱開始,例如從... – Strawberry
我也有學生ID與學生相關聯。對於這個例子,我剛剛顯示名稱 – Godin1