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

ͨ¹ýÁ½¸öÀý×Ó½²½âPIVOT/UNPIVOTµÄÓ÷¨_SQL¼¼ÇÉ

ʹÓùýSQL Server 2000µÄÈ˶¼ÖªµÀ£¬ÒªÏëʵÏÖÐÐÁÐת»»,±ØÐë×ÛºÏÀûÓþۺϺ¯ÊýºÍ¶¯Ì¬SQL£¬¾ßÌåʵÏÖÆðÀ´ÐèÒªÒ»¶¨µÄ¼¼ÇÉ£¬¶øÔÚSQL Server 2005ÖУ¬Ê¹ÓÃÐÂÒý½øµÄ¹Ø¼ü×ÖPIVOT/UNPIVOT£¬Ôò¿ÉÒÔºÜÈÝÒ×µÄʵÏÖÐÐÁÐת»»µÄÐèÇó¡£
ÔÚ±¾ÎÄÖÐÎÒÃǽ«Í¨¹ýÁ½¸ö¼òµ¥µÄÀý×ÓÏêϸ½²½âPIVOT/UNPIVOTµÄÓ÷¨¡£
PIVOTµÄÓ÷¨£º
Ê×ÏÈ´´½¨²âÊÔ±í£¬È»ºó²åÈë²âÊÔÊý¾Ý
 
create table test(id int,name varchar(20),quarter int,profile int)
insert into test values(1,'a',1,1000)
insert into test values(1,'a',2,2000)
insert into test values(1,'a',3,4000)
insert into test values(1,'a',4,5000)
insert into test values(2,'b',1,3000)
insert into test values(2,'b',2,3500)
insert into test values(2,'b',3,4200)
insert into test values(2,'b',4,5500)
select * from test
id name quarter profile
----------- -------------- ----------- -----------
1 a 1 1000
1 a 2 2000
1 a 3 4000
1 a 4 5000
2 b 1 3000
2 b 2 3500
2 b 3 4200
2 b 4 5500
(8 row(s) affected)
ʹÓÃPIVOT½«Ëĸö¼¾¶ÈµÄÀûÈóת»»³ÉºáÏòÏÔʾ:
select id,name,
[1] as "Ò»¼¾¶È",
[2] as "¶þ¼¾¶È",
[3] as "Èý¼¾¶È",
[4] as "Ëļ¾¶È"
from
test
pivot
(
sum(profile)
for quarter in
([1],[2],[3],[4])
)
as pvt
id name Ò»¼¾¶È ¶þ¼¾¶È Èý¼¾¶È Ëļ¾¶È
-------- --------- ----------- -------- ------- -------
1 a 1000 2000 4000 5000
2 b 3000 3500 4200 5500
(2 row(s) affected)
 
 
 
 
 
UNPIVOTµÄÓ÷¨£º
 
 
Ê×ÏȽ¨Á¢²âÊÔ±í£¬È»ºó²åÈë²âÊÔÊý¾Ý
drop table test
create table test(id int,name varchar(20), Q1 int, Q2 int, Q3 int, Q4 int)
insert into test values(1,'a',1000,2000,4000,5000)
insert into test values(2,'b',3000,3500,4200,5500)
select * from test
id name Q1 Q2 Q3 Q4
-------- ------- --------- --------- -------- --------
1 a 1000 2000 4000 5000
2 b 3000 3500 4200 5500
(2 row(s) affected)
ʹÓÃUNPIVOT£¬½«Í¬Ò»ÐÐÖÐËĸö¼¾¶ÈµÄÁÐÊý¾Ýת»»³ÉËÄÐÐÊý¾Ý£º
select id,name,quarter,profile
from
test
unpivot
(
profile
for quarter in
([Q1],[Q2],[Q3],[Q4])
)
as unpvt
id name quarter profile
----------- ----------- ----


Ïà¹ØÎĵµ£º

ÔÚSQL SERVER 2005/2008ÖÐÓµÓÐÒ»¸ö¶ÔÏó

ÔÚSQL SERVER 2005/2008ÖÐÓµÓÐÒ»¸ö¶ÔÏó
´ÓSQL SERVER2000Éý¼¶µ½2005/2008ºó£¬Ò»¸öÎÒÃDZØÐëÖØÐÂÈÏʶµÄÇé¿öÊǶÔÏó²»ÔÙÓÐËùÓÐÕߣ¨owner£©¡£¼Ü¹¹°üº¬¶ÔÏ󣬼ܹ¹ÓÐËùÓÐÕß¡£Èç¹ûÄã²éѯ±ísys.objects£¬Ä㽫»á¿´µ½Õâ¿´ÆðÀ´ÊÇÕýÈ·µÄ£¬Ö»ÊDZíÖл¹ÓÐÒ»¸ö×Ö¶Îprincipal_id£¬µ«ÊÇÒ»°ãÇé¿öÏÂËü×ÜÊÇNULLÖµ¡£²»¾ÃǰһÌ죬ÎÒͻȻ¶Ôprincipal ......

×Ô¼º×ܽáµÄ²»¶¨Ìõ¼þSQL²éѯÓï¾äµÄд·¨

  ÎÒ˵µÄ²»¶¨Ìõ¼þÊÇÖ¸²éѯÌõ¼þµÄ¸öÊý²»¶¨¡£ÓÐʱһ¸ö£¬ÓÐʱÁ½¸ö£¬ÓÐʱºÃ¼¸¸ö¡£
Ê×ÏÈÎÒ·¢ÏÖ
select * from A where a='kkk' Óë
select * from A where a like 'kkk'
ÆäʵЧ¹ûÊÇÒ»Ñù£¬Ö»Òª like ºóÃæµÄ×Ö·û´®²»°üº¬Í¨Åä·û¡£ÕâÑùÒ»À´¾ÍºÜ·½±ãÁË¡£Æ©ÈçÓÐ
select * from A where a='KKK' and b='LLL'
ÓÐÁ½¸ö²éѯÌõ¼þ£¬ ......

SQL ×Ö·û´®º¯Êý

SQL×Ö·û´®º¯Êý
Òª¿´aµÄASCIIÂ룬sqlÓï¾ä
select ascii(a)
Òª¿´ASCIIÂëΪ56µÄ×Ö·û
select char(56)
ASCII() --º¯Êý·µ»Ø×Ö·û±í´ïʽ×î×ó¶Ë×Ö·ûµÄASCII ÂëÖµ
CHAR() --º¯ÊýÓÃÓÚ½«ASCII Âëת»»Îª×Ö·û
--Èç¹ûûÓÐÊäÈë0 ~ 255 Ö®¼äµÄASCII ÂëÖµCHAR º¯Êý»á·µ»ØÒ»¸öNULL Öµ
LOWER() --º¯Êý°Ñ×Ö·û´®È«²¿×ª»»ÎªÐ¡Ð´
UPPER() ......

ÔÚCMDϲÙ×÷SQL SERVERÊý¾Ý¿â


MYSQL¿ÉÒÔÔÚ¿ØÖÆÌ¨Ï½øÐвÙ×÷£¬ÀûÓÃÃüÁî
SQL´úÂë
mysql -h localhost -u root -p123456  
¾Í¿ÉÒԵǽMYSQLµÄ¿ØÖÆÌ¨¡£
sql serverÒ²ÌṩÁË¿ØÖÆÌ¨ÏµIJÙ×÷¹¦ÄÜ¡£
ÔÚSQL SERVERµÄ binnĿ¼Ï£¬ÌṩÁËosql.exeÓëisql.exeÕâÁ½¸öÎļþ¡£
ÕâÁ½¸ö³ÌÐò¶¼ÌṩÁË·ÃÎÊSQL SERVERµÄ¹¦ÄÜ£¬ÕâÁ ......

sql 2005 µ¼Èëµ½ sql 2000µÄ²½Öè

p.s. ²»ÓÃÊÔͼÔÚsql2000·þÎñ¹ÜÀíÆ÷ÉÏÃæ×¢²ásql2005µÄÔ¶³ÌÊý¾Ý¿â·þÎñÆ÷£¬Ö»ÄÜÏÈ´Ósql2005ÉÏÃæµ¼³öÊʺÏsql2000µÄ½¨±í½Å±¾£¬ÔÚsql2000ÉϽ¨¿â½¨±í£¬È»ºóÀûÓÃsql2000µÄµ¼ÈëºÍµ¼³öÏòµ¼£¬½«Êý¾Ý´Ó2005µ¼Èëµ½2000µ±ÖС£
2005תµ½2000µÄ²½Öè²½Öè
1. Éú³Éfor 2000°æ±¾µÄÊý¾Ý¿â½Å±¾
2005 µÄmanger studio
-- ´ò¿ª"¶ÔÏó×ÊÔ´¹ÜÀíÆ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ