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

SQL ServerÖеÄÐÐÁе¹Öü¼ÇÉ

ÐÐÁе¹ÖÃÔÚsql serverÖÐÊÇÒ»Öֺܳ£¼ûµÄ¼¼ÇÉ£¬ÔÚ×öÓ¦ÓÃϵͳµÄʱºò£¬¾­³£ÐèÒª×öһЩͳ¼Æ¹¦ÄܱÜÃâ²»ÁËʹÓÃÐÐÁе¹ÖÃÕâ¸ö¼¼ÇÉ£¬ÎÒССµÄ×öÁËÒ»ÏÂ×ܽ᣺
µÚÒ»ÖÖ£ºsql server 2000ÖÐʹÓÃcase½øÐÐÐÐÁе¹ÖÃ
create table RowCellConvertTest
(
 grade varchar(50),
 sex varchar(50),
 studentCount int
)
go
insert into RowCellConvertTest
select 'Ò»Äê¼¶','ÄÐ',100 union all
select 'Ò»Äê¼¶','Å®',200 union all
select '¶þÄê¼¶','ÄÐ',100 union all
select '¶þÄê¼¶','Å®',100 union all
select 'ÈýÄê¼¶','ÄÐ',200 union all
select 'ÈýÄê¼¶','Å®',200
go
select * from RowCellConvertTest
go
--ÀûÓÃSQL Server 2000µÄcase½«ÐÐת»»³ÉÁÐ
declare @sql varchar(max)
set @sql = 'select grade'
select @sql=@sql+ ',sum(case when sex = '''+sex+''' then studentCount else '''' end) as '''+sex+'''' from RowCellConvertTest group by sex
--select @sql = substring(@sql,2,len(@sql))
--print @sql
select  @sql = @sql +'from RowCellConvertTest group by grade'
exec(@sql)
go
drop table RowCellConvertTest
go
     
Ч¹û£º
 
     
     
µÚ¶þÖÖ:
--ÀûÓÃSQL Server 2005ÐÂÌØÐÔpivot½«ÐÐת»»³ÉÁÐ
select grade,ÄÐ,Å®
from
(
select  studentCount, sex, grade from RowCellConvertTest
) p
PIVOT
(
 sum (studentCount)
 FOR sex IN
 (ÄÐ,Å®)
) AS pvt
ORDER BY pvt.grade;
     
     
¸½¼Ó£º½«ÁÐת»»³ÉÐÐ
     
--½«ÁÐת»»³ÉÐÐ
create table CellRowConvertTest
(
 grade varchar(50),
 ÄÐ varchar(50),
 Å® varchar(50)
)
go
insert into CellRowConvertTest
select 'Ò»Äê¼¶',100,200 union all
select '¶þÄê¼¶',100,100 union all
select 'ÈýÄê¼¶',200,200
go
select * from CellRowConvertTest
go
select grade,sex,studentCount
from
(
 select grade,ÄÐ,Å® from CellRowConvertTest
) as p
unpivot
(
 studentCount for sex in (ÄÐ,Å®)
) as unpvt;
go
drop table CellRowConvertTest
go
     
Ч¹û:
 


Ïà¹ØÎĵµ£º

Oracle·¢²¼Ãâ·ÑÊý¾Ý¿â¿ª·¢¹¤¾ßSQL Developer 1.2


Oracle·¢²¼Ãâ·ÑÊý¾Ý¿â¿ª·¢¹¤¾ßSQL Developer 1.2
2007.09.25  À´×Ô£ºCSDN¡¡  ÄŲ»º°   ¹²ÓÐÆÀÂÛ()Ìõ ·¢±íÆÀÂÛ    ÊÕ²Ø
Oracle SQL DeveloperÊǼ׹ÇÎĹ«Ë¾Ãâ·ÑÌṩµÄÊý¾Ý¿â¿ª·¢¹¤¾ß£¬¿É°ïÖúÓû§¼ò»¯¿ª·¢¹¤×÷£¬Ìá¸ß±àÖÆºÍµ÷ÊÔSQLºÍPL/SQL´úÂëµÄЧÂÊ¡£ÏÖÔÚ£¬Õâ¸öÃâ·Ñ¹¤ ......

·À·¶sql×¢Èë¹¥»÷£¨ÉÏ£©

ͬ²½Ò»ÏÂÎÒbaiduµÄblog£ºhttp://hi.baidu.com/ncheng/blog/item/bc65f82a1a6a7c335343c11c.html
Sql×¢ÈëÊÇÒ»ÖÖÈëÃż«µÍÆÆ»µ¼«´óµÄ¹¥»÷·½Ê½¡£Èç¹ûsqlÊÇÓÃ×Ö·û´®Æ´½Ó³öÀ´µÄ»°£¬ÄÇô¿Ï¶¨»á±»×¢Èë¹¥»÷£¬Ç°¶Îʱ¼ä»¹´«³öÁËij¹úÍâ´óÐÍÉç½»ÍøÕ¾±»SQL×¢Èë¹¥»÷¡£
Sql×¢Èë¹¥»÷µÄ·½Ê½£¬À´ÕâÀï¿´µÄͬ־ÃÇÓ¦¸ÃºÜÇå³þÁË£¬¾ÍÊÇÔÚÆ´½Ó×Ö·û´ ......

ʹÓÃsqlÓï¾ä»ñµÃµ±Ç°ÔÂÌìÊý


 Ê¹ÓÃsqlÓï¾ä»ñµÃµ±Ç°ÔÂÌìÊý
   --»ñµÃµ±ÔÂÌìÊý  
    select day(dateadd(mm,1,getdate())-day(getdate())) as ±¾ÔÂÌìÊý ;  
    select getdate() as µ±Ç°ÈÕÆÚ;  
  &nb ......

SQL·Ö×é²éѯ ¿ÉÒÔ¶Ôÿһ×éÖÐÐÅÏ¢Á¿É¸Ñ¡

¿´¿´ÒÔÏÂSQLÓï¾ä£º
select row_number() over(partition by xs.xsbh, xs.kch order by coalesce(xs.bkxnxqh, xs.xnxqh) desc) rn
row_number()£º´ú±íÁÐ
partition by ´ú±í°´Ê²Ã´½øÐзÖ×é
order by¶Ôÿһ×éÐÅÏ¢½øÐÐÅÅÐò
coalesce()ÊÇÌæ»»µÄÒâ˼   ÀýÈ磺ÉÏÃæµÄSQLÓï¾äµÄÒâ˼ÊÇ£¬Èç¹ûbkxnxqhΪ¿Õ£¬ÄÇô¾ÍÈ¥xnx ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ