Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

SQL server2005ÖÐÓÃpivotʵÏÖÐÐÁÐת»»

 --> --> (Roy)Éú³É²âÊÔÊý¾Ý
if not object_id('Class') is null
drop table Class
Go
Create table Class([Student] nvarchar(2),[Course] nvarchar(2),[Score] int)
Insert Class
select N'ÕÅÈý',N'ÓïÎÄ',78 union all
select N'ÕÅÈý',N'Êýѧ',87 union all
select N'ÕÅÈý',N'Ó¢Óï',82 union all
select N'ÕÅÈý',N'ÎïÀí',90 union all
select N'ÀîËÄ',N'ÓïÎÄ',65 union all
select N'ÀîËÄ',N'Êýѧ',77 union all
select N'ÀîËÄ',N'Ó¢Óï',65 union all
select N'ÀîËÄ',N'ÎïÀí',85
Go
¶¯Ì¬:
declare @s nvarchar(4000)
Select  @s=isnull(@s+',','')+quotename([Course]) from Class group by[Course]
exec('select * from Class pivot (max([Score]) for [Course] in('+@s+'))b')
Éú³É¾²Ì¬:
select *
from
Class
pivot
(max([Score]) for [Course] in([Êýѧ],[ÎïÀí],[Ó¢Óï],[ÓïÎÄ]))b
Éú³É¸ñʽ:
/*
Student Êýѧ          ÎïÀí          Ó¢Óï          ÓïÎÄ
------- ----------- ----------- ----------- -----------
ÀîËÄ      77          85          65          65
ÕÅÈý      87          90          82          78
(2 ÐÐÊÜÓ°Ïì)
*/
--2000·½·¨:
¶¯Ì¬:
declare @s nvarchar(4000)
set @s=''
Select  @s=@s+','+quotename([Course])+'=max(case when [Course]='+quotename([Course],'''')+' then [Score] else 0 end)'
from Class group by[Course]
exec('select [Student]'+@s+' from Class group by [Student]')
Éú³É¾²Ì¬:
select
[Student],
[Êýѧ]=max(case when [Course]='Êýѧ' then [Score] else 0 end),
[ÎïÀí]=max(case when [Course]='ÎïÀí' then [Score] else 0 end),
[Ó¢Óï]=max(case when [Course]='Ó¢Óï' then [Score] else 0 end),
[ÓïÎÄ]=max(case whe


Ïà¹ØÎĵµ£º

Çå¿ÕSQL ServerÊý¾Ý¿âÖÐËùÓбíÊý¾ÝµÄ·½·¨

Æäʵɾ³ýÊý¾Ý¿âÖÐÊý¾ÝµÄ·½·¨²¢²»¸´ÔÓ£¬ÎªÊ²Ã´ÎÒ»¹Òª¶à´ËÒ»¾ÙÄØ£¬Ò»ÊÇÎÒÕâÀï½éÉܵÄÊÇɾ³ýÊý¾Ý¿âµÄËùÓÐÊý¾Ý£¬ÒòΪÊý¾ÝÖ®¼ä¿ÉÄÜÐγÉÏà»¥Ô¼Êø¹ØÏµ£¬É¾³ý²Ù×÷¿ÉÄÜÏÝÈëËÀÑ­»·£¬¶þÊÇÕâÀïʹÓÃÁË΢ÈíδÕýʽ¹«¿ªµÄsp_MSForEachTable´æ´¢¹ý³Ì¡£
¡¡¡¡Ò²ÐíºÜ¶à¶ÁÕßÅóÓѶ¼¾­Àú¹ýÕâÑùµÄÊÂÇ飺ҪÔÚ¿ª·¢Êý¾Ý¿â»ù´¡ÉÏÇåÀíÒ»¸ö¿Õ¿â£¬µ«ÓÉÓÚ¶ÔÊ ......

SQL Collation

     ÎÄÕÂÓÉÀ´£º ×î½üÐèÒª×öÕâÑùµÄ²âÊÔ:Install the products on machine which case-insensitive SQL installed.
Ëùνcase-insensitive SQL installed¡¡Ö¸ÔÚÊý¾Ý¿â°²×°Ê±Ñ¡ÔñÅÅÐò¹æÔòʱ¡¡ÐèҪѡÔñ´óÐ¡Ð´Çø±ðµÄ¹æÔò¡£
 
¡¡¡¡ÅÅÐò¹æÔò¼ò½é£º
¡¡¡¡¡¡¡¡MSÊÇÕâÑùÃèÊöµÄ£º"ÔÚ  Micr ......

¸ßÈËÇóÖú£¬SQLÎÊÌ⣡

ԭʼÊý¾Ý
 
  
TERMINAL_ID
MAXDATE
TERMINAL_ID
OCCUR_DATE_TIME
TROUBLE_CD
  
1
12345
20100401102754
12345
20100401102754
210
  
2
12345
20100401102754
12345
20100401102754
211
  
3
12345
20100401102754
12345
20100401102754
?09
......

sql¹¤¾ß

×î½üÔÚÓÃsqlcmd¹¤¾ß½øÐÐÊý¾Ý±¸·Ý£¬½ñÌìÔÚ»»µ½sql2000ʱͻȻ²»ÄÜÓá£Ô­À´2000ÊÇûÓÐÕâ¸ö¹¤¾ßµÄ£º
sql2005:
sqlcmd -S ·þÎñÆ÷Ãû»ò·þÎñÆ÷µØÖ· -U Óû§ -P ÃÜÂë -i "ÒýÓõÄsqlÓï¾äÎļþ"
sql2000:¿ÉÒÔÓÃosql´úÌæ£¬¹¦ÄÜÒ»Ñù
osql -S ·þÎñÆ÷Ãû»ò·þÎñÆ÷µØÖ· -U Óû§ -P ÃÜÂë -i "ÒýÓõÄsqlÓï¾äÎļþ" ......

SQL Server 2005ÖеÄT SQLÔöÇ¿(7) ͨÓñí±í´ïʽCTE

ͨÓñí±í´ïʽ Common Table Expressions
ͨÓñí±í´ïʽ£¨CTE£©ÊÇÒ»¸ö¿ÉÒÔÓɶ¨ÒåÓï¾äÒýÓõÄÁÙʱ±íÃüÃûµÄ½á¹û¼¯¡£ÔÚËûÃǵļòµ¥ÐÎʽÖУ¬Äú¿ÉÒÔ½«CTEÊÓΪÀàËÆÓÚÊÓͼºÍÅÉÉú±í»ìºÏ¹¦ÄܵĸĽø°æ±¾¡£ÔÚ²éѯµÄfrom×Ó¾äÖÐÒýÓÃCTEµÄ·½Ê½ÀàËÆÓÚÒýÓÃÅÉÉú±íºÍÊÓͼµÄ·½Ê½¡£Ö»Ð붨ÒåCTEÒ»´Î£¬¼´¿ÉÔÚ²éѯÖжà´ÎÒýÓÃËü¡£ÔÚCTEµÄ¶¨ÒåÖУ¬¿ÉÒÔÒ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ