SQL Pivot & UnPivot
create table students (
name varchar(25),
class varchar(25),
grade int
)
insert into students values ('ÕÅÈý','ÓïÎÄ',20)
insert into students values ('ÕÅÈý','Êýѧ',90)
insert into students values ('ÕÅÈý','Ó¢Óï',50)
insert into students values ('ÀîËÄ','ÓïÎÄ',81)
insert into students values ('ÀîËÄ','Êýѧ',60)
insert into students values ('ÀîËÄ','Ó¢Óï',90)
select * from students
pivot(
max(grade)
FOR [class] IN ([ÓïÎÄ],[Êýѧ],[Ó¢Óï])
) AS pvt
/*
ÀîËÄ 81 60 90
ÕÅÈý 20 90 50
*/
--=========================================================================
create table students (
name varchar(25),
ÓïÎÄ int,
Êýѧ int,
Ó¢Óï int
)
GO
INSERT INTO students values ('ÀîËÄ',81,60,90)
INSERT INTO students values ('ÕÅÈý',20,90,50)
select *
from
students
unpivot
(
grade
for class in
([ÓïÎÄ],[Êýѧ],[Ó¢Óï])
) AS upvt
/*
ÀîËÄ 81 ÓïÎÄ
ÀîËÄ 60 Êýѧ
ÀîËÄ 90 Ó¢Óï
ÕÅÈý 20 ÓïÎÄ
ÕÅÈý 90 Êýѧ
ÕÅÈý 50 Ó¢Óï
*/
Ïà¹ØÎĵµ£º
ÊÓͼÊÇ¿ÉÊÓ»¯µÄ±í¡£
±¾Õ½²½âÈçºÎ´´½¨¡¢¸üкÍɾ³ýÊÓͼ¡£
SQL CREATE VIEW Óï¾ä
ʲôÊÇÊÓͼ£¿
ÔÚ SQL ÖУ¬ÊÓͼÊÇ»ùÓÚ SQL Óï¾äµÄ½á¹û¼¯µÄ¿ÉÊÓ»¯µÄ±í¡£
ÊÓͼ°üº¬ÐкÍÁУ¬¾ÍÏñÒ»¸öÕæÊµµÄ±í¡£ÊÓͼÖеÄ×ֶξÍÊÇÀ´×ÔÒ»¸ö»ò¶à¸öÊý¾Ý¿âÖеÄÕæÊµµÄ±íÖеÄ×ֶΡ£ÎÒÃÇ¿ÉÒÔÏòÊÓͼÌí¼Ó SQL º¯Êý¡¢WHERE ÒÔ¼° JOIN Óï¾ä£¬ÎÒÃÇÒ²¿ÉÒ ......
Ëùν¶à·þÎñÆ÷¹ÜÀí (Multiserver Administration)¾ÍÊÇSQL Server 2008 R2ÌṩµÄ×Ô¶¯¹ÜÀí¶à¸ö SQL Server ʵÀý¹ý³ÌµÄ¹¦ÄÜ¡£ÔÚ¶à·þÎñÆ÷¹ÜÀíÖУ¬Á¬½Óµ½Ö÷·þÎñÆ÷²¢´ÓÆä½ÓÊÕ×÷ÒµµÄ·þÎñÆ÷±»³ÆÖ®ÎªÄ¿±ê·þÎñÆ÷¡£SQL Server 2008 R2ÍÆ³öÁ˹ÜÀíSQL·þÎñÆ÷Êý¾Ý¿âÒýÇæµÄ¶à¸öʵÀýµÄSQL·þÎñÆ÷¹¤¾ß£¬Ê¹ÓÃÕâЩ¹¤¾ß¿ÉÒÔͨ¹ýÖÐÑë·þÎñÆ÷¶Ô¶à¸öSQL ......
selectÓï¾äǰ¼Ó£º
declare @d datetime
set @d=getdate()
²¢ÔÚselectÓï¾äºó¼Ó£º
select [Óï¾äÖ´Ðл¨·Ñʱ¼ä(ºÁÃë)]=datediff(ms,@d,getdate())
ת×Ô£º¶¯Ì¬ÍøÖÆ×÷Ö¸ÄÏ www.knowsky.com
ÕâÊǼòÒ׵IJ鿴ִÐÐʱ¼äµÄ·½·¨¡£
===========================================£¨Ò»ÏÂÄÚÈÝת×Ô£º£Ã£Ó£Ä£Î£©
MSSQL ServerÖÐͨ¹ý²é ......
--ͨ¹ýsqlÆóÒµ¹ÜÀíÆ÷Ð޸ĺÍɾ³ýa±íÖÐÊý¾Ýʱ»á³öÏÖ´íÎó
--sqlÆóÒµ¹ÜÀíBug£¬Í¨¹ý³ÌÐò»òÖ´ÐÐsqlÓï¾ä¸üÐÂa±íÊý¾ÝûÓÐÎÊÌâ
--Ìí¼Ó
Insert a (FName, FCode, FOther) Values('11','2222','33')
--ÐÞ¸Ä
Update a Set FName='22_Edit' Where FCode='22'
--ɾ³ý
Delete a Where FCode='22'
--²é¿´a/b±íÊý¾Ý
Select * from a ......