1.假设有一张表示cj表 Name Subject Result 张三 语文 80 张三 数学 90 张三 物理 85 李四 语文 85 李四 数学 92 李四 物理 82 要求查询结果: 姓名 语文 数学 物理 张三 80 90 85 李四 85 92 82
1 --创建cj表sql 2 CREATE TABLE `cj` ( 3 `id` int(11) NOT NULL AUTO_INCREMENT, 4 `name` varchar(20) DEFAULT NULL, 5 `subject` varchar(20) DEFAULT NULL, 6 `result` int(11) DEFAULT NULL, 7 PRIMARY KEY (`id`) 8 ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;
1 --插入数据SQL 2 INSERT INTO cj 3 (`id`, `name`, `subject`, `result`) 4 VALUES 5 (1, '张三', '语文', 80); 6 7 INSERT INTO cj 8 (`id`, `name`, `subject`, `result`) 9 VALUES 10 (2, '张三', '数学', 90); 11 12 INSERT INTO cj 13 (`id`, `name`, `subject`, `result`) 14 VALUES 15 (3, '张三', '物理', 85); 16 17 INSERT INTO cj 18 (`id`, `name`, `subject`, `result`) 19 VALUES 20 (4, '李四', '语文', 85); 21 22 INSERT INTO cj 23 (`id`, `name`, `subject`, `result`) 24 VALUES 25 (5, '李四', '数学', 92); 26 27 INSERT INTO cj 28 (`id`, `name`, `subject`, `result`) 29 VALUES 30 (6, '李四', '物理', 89);
1 --查询SQL 2 select 3 distinct a.name 姓名, 4 (select result from cj where name = a.name and subject = '语文') 语文, 5 (select result from cj where name = a.name and subject = '数学') 数学, 6 (select result from cj where name = a.name and subject = '物理') 物理 7 from cj a;
========================================================
More reading,and english is important.
I'm Hongten
大哥哥大姐姐,觉得有用打赏点哦!多多少少没关系,一分也是对我的支持和鼓励。谢谢。
Hongten博客排名在100名以内。粉丝过千。
Hongten出品,必是精品。
E | hongtenzone@foxmail.com B | http://www.cnblogs.com/hongten
========================================================