行轉列 -- 用max 找出結果,case
SELECT user_name ,
MAX(CASE course WHEN '數學' THEN score ELSE 0 END ) 數學,
MAX(CASE course WHEN '國文' THEN score ELSE 0 END ) 國文,
MAX(CASE course WHEN '英語' THEN score ELSE 0 END ) 英語
FROM test_tb_grade
GROUP BY USER_NAME;
列轉行--一列一列查出,然後将結果 union 成多列
select user_name, '國文' COURSE , CN_SCORE as SCORE from test_tb_grade2
union select user_name, '數學' COURSE, MATH_SCORE as SCORE from test_tb_grade2
union select user_name, '英語' COURSE, EN_SCORE as SCORE from test_tb_grade2
order by user_name,COURSE;
具體例子:http://www.jb51.net/article/109203.htm