pl sql 中 利用查询出来的数据 作为 查询结果的 表 列名 比如说 查询出来的数据是 科目 分数 语文 22 数学
比如说查询出来的数据是科目分数语文22数学33英语55用sql语句从同样的表中查询得出结果为表列名称:语文数学英语数据:223355希望有知者告诉方法,谢谢!哥哥们,我想...
比如说
查询出来的数据是
科目 分数
语文 22
数学 33
英语 55
用sql语句 从同样的表中查询 得出结果为
表 列名称: 语文 数学 英语
数据: 22 33 55
希望有知者告诉方法,谢谢!
哥哥们,我想问的是不用自己写直接从表里查出来,然后自己加上去,不是一个一个写的啊@!!!!!!! 展开
查询出来的数据是
科目 分数
语文 22
数学 33
英语 55
用sql语句 从同样的表中查询 得出结果为
表 列名称: 语文 数学 英语
数据: 22 33 55
希望有知者告诉方法,谢谢!
哥哥们,我想问的是不用自己写直接从表里查出来,然后自己加上去,不是一个一个写的啊@!!!!!!! 展开
3个回答
展开全部
这个涉及到的知识是,行转列。
CREATE TABLE t(NAME VARCHAR(10), SUBJECT VARCHAR(10), SCORE INT)
INSERT INTO t values ('张三','语文',60)
INSERT INTO t values ('李四','数学',70)
INSERT INTO t values ('王五','英语',80)
INSERT INTO t values ('王五','数学',75)
INSERT INTO t values ('王五','语文',57)
INSERT INTO t values ('李四','语文',80)
INSERT INTO t values ('张三','英语',100)
SELECT * FROM t
select NAME,
sum(case SUBJECT when '数学' then SCORE else 0 end) as '数学',
sum(case SUBJECT when '英语' then SCORE else 0 end) as '英语',
sum(case SUBJECT when '语文' then SCORE else 0 end) as '语文'
from t
group by NAME
其中,两个Name要相同。如果是id就都是id。
CREATE TABLE t(NAME VARCHAR(10), SUBJECT VARCHAR(10), SCORE INT)
INSERT INTO t values ('张三','语文',60)
INSERT INTO t values ('李四','数学',70)
INSERT INTO t values ('王五','英语',80)
INSERT INTO t values ('王五','数学',75)
INSERT INTO t values ('王五','语文',57)
INSERT INTO t values ('李四','语文',80)
INSERT INTO t values ('张三','英语',100)
SELECT * FROM t
select NAME,
sum(case SUBJECT when '数学' then SCORE else 0 end) as '数学',
sum(case SUBJECT when '英语' then SCORE else 0 end) as '英语',
sum(case SUBJECT when '语文' then SCORE else 0 end) as '语文'
from t
group by NAME
其中,两个Name要相同。如果是id就都是id。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该还有一个是学生的ID之类的参数吧
SELECT SId,
MAX(CASE Subject WHEN '语文' THEN Score ELSE 0 END) AS '语文',
MAX(CASE Subject WHEN '数学' THEN Score ELSE 0 END) AS '数学',
MAX(CASE Subject WHEN '英语' THEN Score ELSE 0 END) AS '英语'
FROM [StudentScores]
GROUP BY SId
SELECT SId,
MAX(CASE Subject WHEN '语文' THEN Score ELSE 0 END) AS '语文',
MAX(CASE Subject WHEN '数学' THEN Score ELSE 0 END) AS '数学',
MAX(CASE Subject WHEN '英语' THEN Score ELSE 0 END) AS '英语'
FROM [StudentScores]
GROUP BY SId
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select (select 分数 from 表 where 科目='语文') 语文,
(select 分数 from 表 where 科目='数学) 数学,
(select 分数 from 表 where 科目='英语') 英语
from dual
(select 分数 from 表 where 科目='数学) 数学,
(select 分数 from 表 where 科目='英语') 英语
from dual
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询