码迷,mamicode.com
首页 > 数据库 > 详细

一个简单功能的SQL 实现

时间:2017-05-07 00:09:14      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:数学   har   rom   log   incr   not   engine   sub   char   

1.假设有一张表示cj表 
Name Subject Result
张三 语文 80
张三 数学 90
张三 物理 85
李四 语文 85
李四 数学 92
李四 物理 89

要求查询结果:
姓名 语文 数学 物理
张三 80 90 85
李四 85 92 89

 

 

-- 创建cj表sql
CREATE TABLE `cj` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) DEFAULT NULL,
  `subject` varchar(20) DEFAULT NULL,
  `result` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;

-- 插入数据SQL
INSERT INTO cj
   (`id`, `name`, `subject`, `result`)
VALUES
   (1, ‘张三‘, ‘语文‘, 80);

INSERT INTO cj
   (`id`, `name`, `subject`, `result`)
VALUES
   (2, ‘张三‘, ‘数学‘, 90);

INSERT INTO cj
   (`id`, `name`, `subject`, `result`)
VALUES
   (3, ‘张三‘, ‘物理‘, 85);

INSERT INTO cj
   (`id`, `name`, `subject`, `result`)
VALUES
   (4, ‘李四‘, ‘语文‘, 85);

INSERT INTO cj
   (`id`, `name`, `subject`, `result`)
VALUES
   (5, ‘李四‘, ‘数学‘, 92);

INSERT INTO cj
   (`id`, `name`, `subject`, `result`)
VALUES
   (6, ‘李四‘, ‘物理‘, 89);


-- 查询SQL
select 
    distinct a.name 姓名,
    (select result from cj where name = a.name and subject = ‘语文‘) 语文,
    (select result from cj where name = a.name and subject = ‘数学‘) 数学,
    (select result from cj where name = a.name and subject = ‘物理‘) 物理   
from cj a;

 

一个简单功能的SQL 实现

标签:数学   har   rom   log   incr   not   engine   sub   char   

原文地址:http://www.cnblogs.com/mr-wuxiansheng/p/6818882.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!