select st.sid, st.name
,SUM(CASE WHEN sb.name = '大学数学' THEN score ELSE 0 END) AS '大学数学'
,SUM(CASE WHEN sb.name = 'C语言基础课程' THEN score ELSE 0 END) AS 'C语言基础课程'
,SUM(CASE WHEN sb.name = '大学英语' THEN score ELSE 0 END) AS '大学英语'
FROM student st INNER JOIN score sc ON st.sid = sc.sid
INNER JOIN SUBJECT sb ON sb.subid = sc.subid
GROUP BY st.sid
ORDER BY st.sid;
如上,這條語句我之前在MYSQL上運行過,沒有問題的。但今天放到Oracle上運行卻報未找到FROM關鍵字的錯誤,難道是ORACLE的SUM函數或者是CASE..WHEN又或者是取別名有什麼特殊的要求?
------解决方案--------------------
'大学数学'等重命名
改为双引号 引起来,或去掉引号