数据库的列转行显示

Create Table

CREATE TABLE `score` (
  `id` int(11) NOT NULL COMMENT 'id',
  `name` varchar(20) DEFAULT NULL COMMENT '姓名',
  `course` varchar(10) DEFAULT NULL COMMENT '科目' ,
  `score` varchar(10) DEFAULT NULL COMMENT '分数',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

SELECT
su.name, 数学,语文, 英文
FROM
(SELECT
NAME,
score 数学
FROM
score
WHERE course = '数学') AS SU
LEFT JOIN
(SELECT
NAME,
score 语文
FROM
score
WHERE course = '语文') AS YU
ON YU.`NAME` = SU.`NAME`
LEFT JOIN
(SELECT
NAME,
score 英文
FROM
score
WHERE course = '英语') AS yw
ON su.name = yw.name

猜你喜欢

转载自www.cnblogs.com/zhouyunchao/p/10888636.html