pl sql 中 利用查询出来的数据 作为 查询结果的 表 列名 比如说 查询出来的数据是 科目 分数 语文 22 数学

比如说查询出来的数据是科目分数语文22数学33英语55用sql语句从同样的表中查询得出结果为表列名称:语文数学英语数据:223355希望有知者告诉方法,谢谢!哥哥们,我想... 比如说
查询出来的数据是
科目 分数
语文 22
数学 33
英语 55

用sql语句 从同样的表中查询 得出结果为
表 列名称: 语文 数学 英语
数据: 22 33 55

希望有知者告诉方法,谢谢!
哥哥们,我想问的是不用自己写直接从表里查出来,然后自己加上去,不是一个一个写的啊@!!!!!!!
展开
 我来答
百度网友83dcbda
2011-08-02 · 超过22用户采纳过TA的回答
知道答主
回答量:73
采纳率:0%
帮助的人:57.8万
展开全部
这个涉及到的知识是,行转列。
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。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友5ba75e4
2011-08-02 · TA获得超过2045个赞
知道大有可为答主
回答量:1775
采纳率:60%
帮助的人:985万
展开全部
应该还有一个是学生的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
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xbq4724
2011-08-02 · 超过19用户采纳过TA的回答
知道答主
回答量:55
采纳率:0%
帮助的人:49.8万
展开全部
select (select 分数 from 表 where 科目='语文') 语文,
(select 分数 from 表 where 科目='数学) 数学,
(select 分数 from 表 where 科目='英语') 英语
from dual
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式