﻿<?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-wǒ小Ъц傻-随笔分类-asp.net&amp;c#</title><link>http://www.blogjava.net/litianyi520/category/17879.html</link><description>“我有一天长大了，希望做一个夏天卖冰棒，冬天卖烤红薯的街头小贩，因为这种职业
不但可以呼吸新鲜空气，又可以大街小巷的游走玩耍，更重要的是，一面做生意，一面可以
顺便看看，沿街的垃圾箱里，有没有被人丢弃的好东西，这……”
</description><language>zh-cn</language><lastBuildDate>Tue, 27 Feb 2007 12:08:16 GMT</lastBuildDate><pubDate>Tue, 27 Feb 2007 12:08:16 GMT</pubDate><ttl>60</ttl><item><title>SQL语句之普通行列转换 </title><link>http://www.blogjava.net/litianyi520/archive/2006/09/14/69668.html</link><dc:creator>小傻</dc:creator><author>小傻</author><pubDate>Thu, 14 Sep 2006 08:18:00 GMT</pubDate><guid>http://www.blogjava.net/litianyi520/archive/2006/09/14/69668.html</guid><wfw:comment>http://www.blogjava.net/litianyi520/comments/69668.html</wfw:comment><comments>http://www.blogjava.net/litianyi520/archive/2006/09/14/69668.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/litianyi520/comments/commentRss/69668.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/litianyi520/services/trackbacks/69668.html</trackback:ping><description><![CDATA[
		<p>
				<font face="Arial">SQL语句之普通行列转换 </font>
		</p>
		<p>
				<font face="Arial">假设有张学生成绩表(tb_rowtocol)如下<br />Name Subject Result<br />张三 语文　　73<br />张三 数学　　83<br />张三 物理　　93<br />李四 语文　　74<br />李四 数学　　84<br />李四 物理　　94</font>
		</p>
		<p>
				<font face="Arial">想变成 <br />姓名 语文 数学 物理<br />张三 73　　83　　93<br />李四 74　　84　　94</font>
		</p>
		<p>
				<font face="Arial">declare @sql varchar(4000)<br />set @sql = 'select Name as ' + '姓名'<br />select @sql = @sql + ' , sum(case Subject when '''+Subject+''' then Result end) ['+Subject+']'<br />from (select distinct Subject from rowtocol) as a<br />set @sql = @sql + ' from rowtocol group by name'<br />exec(@sql) </font>
		</p>
		<p>
				<font face="Arial">如果上述两表互相换一下：即<br />表名(cj)<br />姓名 语文 数学 物理<br />张三 73　　83　　93<br />李四 74　　84　　94</font>
		</p>
		<p>
				<font face="Arial">想变成 </font>
		</p>
		<p>
				<font face="Arial">Name Subject Result<br />张三 语文　　73<br />张三 数学　　83<br />张三 物理　　93<br />李四 语文　　74<br />李四 数学　　84<br />李四 物理　　94</font>
		</p>
		<p>
				<font face="Arial">select 姓名 as Name,'语文' as Subject,语文 as Result from CJ union<br />select 姓名 as Name,'数学' as Subject,数学 as Result from CJ union<br />select 姓名 as Name,'物理' as Subject,物理 as Result from CJ<br />order by 姓名 desc <br /></font>
		</p>
<img src ="http://www.blogjava.net/litianyi520/aggbug/69668.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/litianyi520/" target="_blank">小傻</a> 2006-09-14 16:18 <a href="http://www.blogjava.net/litianyi520/archive/2006/09/14/69668.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>