﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-没处就黄了-文章分类-SQL</title><link>http://www.blogjava.net/ieclipse/category/29522.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 20 Feb 2008 22:17:49 GMT</lastBuildDate><pubDate>Wed, 20 Feb 2008 22:17:49 GMT</pubDate><ttl>60</ttl><item><title>SQL语句查询结果由行变为列</title><link>http://www.blogjava.net/ieclipse/articles/180824.html</link><dc:creator>没处就黄了</dc:creator><author>没处就黄了</author><pubDate>Wed, 20 Feb 2008 05:33:00 GMT</pubDate><guid>http://www.blogjava.net/ieclipse/articles/180824.html</guid><wfw:comment>http://www.blogjava.net/ieclipse/comments/180824.html</wfw:comment><comments>http://www.blogjava.net/ieclipse/articles/180824.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/ieclipse/comments/commentRss/180824.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/ieclipse/services/trackbacks/180824.html</trackback:ping><description><![CDATA[Q:&nbsp;<br />
用SQL语句,把表中的数据由行变为列.<br />
<br />
查询前:<br />
<span style="color: #0000ff">ID 姓名 科目 分数<br />
1&nbsp;张三&nbsp;语文&nbsp;65<br />
2&nbsp;张三&nbsp;数学&nbsp;85<br />
3&nbsp;张三&nbsp;外语&nbsp;75<br />
4&nbsp;李四&nbsp;语文&nbsp;90<br />
5&nbsp;李四&nbsp;数学&nbsp;60<br />
6&nbsp;李四&nbsp;外语&nbsp;50</span><br />
<br />
查询后:<br />
<span style="color: #0000ff">姓名&nbsp;语文 数学 外语<br />
李四&nbsp;90&nbsp;60&nbsp;50<br />
张三&nbsp;65&nbsp;85&nbsp;75</span><br />
<br />
A:<br />
1.先建表.<br />
<span style="color: #0000ff">create table SCORETABLE<br />
(<br />
&nbsp;ID int not null primary key,<br />
&nbsp;NAME varchar(50),<br />
&nbsp;SUBJECT varchar(50),<br />
&nbsp;SCORE int null<br />
); </span><br />
<br />
2.添加数据.<br />
<span style="color: #0000ff">insert into scoretable(ID, NAME, SUBJECT, SCORE) values(1, '张三', '语文', 70);<br />
insert into scoretable(ID, NAME, SUBJECT, SCORE) values(2, '张三', '数学', 85);<br />
insert into scoretable(ID, NAME, SUBJECT, SCORE) values(3, '张三', '外语', 75);<br />
insert into scoretable(ID, NAME, SUBJECT, SCORE) values(4, '李四', '语文', 90);<br />
insert into scoretable(ID, NAME, SUBJECT, SCORE) values(5, '李四', '数学', 60);<br />
insert into scoretable(ID, NAME, SUBJECT, SCORE) values(6, '李四', '外语', 50);</span><br />
<br />
3.用SQL实现.<br />
<span style="color: #0000ff">select NAME as '姓名',<br />
&nbsp;&nbsp;&nbsp;&nbsp;sum(case SUBJECT when '语文' then SCORE else 0 end) as '语文',<br />
&nbsp;&nbsp;&nbsp;&nbsp;sum(case SUBJECT when '数学' then SCORE else 0 end) as '数学',<br />
&nbsp;&nbsp;&nbsp;&nbsp;sum(case SUBJECT when '外语' then SCORE else 0 end) as '外语'<br />
from SCORETABLE<br />
group by NAME</span> <br />
<br />
这就做完了.主要就是这个SQL语句.其实很简单.
<img src ="http://www.blogjava.net/ieclipse/aggbug/180824.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/ieclipse/" target="_blank">没处就黄了</a> 2008-02-20 13:33 <a href="http://www.blogjava.net/ieclipse/articles/180824.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>