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

´Ó¡¾¸÷´óÈí¼þ¹«Ë¾±ÊÊÔѹÖáÌ⡿ѧϰSQLÓï¾ä

´Ó²©¿ÍÔ°Öп´µ½Ò»ÆªÎÄÕ£¬½éÉÜ´óÈí¼þ¹«Ë¾ÃæÊÔʱ³£³£»á³öµÄÁ½µÀSQLÌ⣨¼û¸½Â¼£©¡£
ÎÒ¾õµÃÊÜÒæºÜ¶à£¬ÔÚ´Ë֮ǰ£¬ÎÒÒ»Ö±¾õµÃ£¬SQL2008ËÆºõÌṩÁËÕâ·½ÃæµÄÖ§³Ö£¬µ«¸üµÍµÄ°æ±¾£¬°üÀ¨2005£¬·ÇÓαê×ö²»³öÀ´£¨Ë®Æ½¹»²Ë£©¡£×ܽáÐĵÃÈçÏ£º
1¡¢    Ç¿´óµÄgroup by
1  select stdname,
2  isnull(sum( case  stdsubject when  ' »¯Ñ§ '  then Result end), 0 ) [»¯Ñ§],
3  isnull(sum( case  stdsubject when  ' Êýѧ '  then Result end), 0 ) [Êýѧ],
4  isnull(sum( case  stdsubject when  ' ÎïÀí '  then Result end), 0 ) [ÎïÀí],
5  isnull(sum( case  stdsubject when  ' ÓïÎÄ '  then Result end), 0 ) [ÓïÎÄ]
6  from #student
7  group by stdname
ÔÚÕâÀgroup byÓësum + case½áºÏ£¬¿ÉÒÔ½«±í1ÖеļǼ£¨ÐУ©±ä³É±í2µÄ×ֶΣ¨ÁУ©¡£SumÀïÃæÈç¹ûûÓÐcase£¬ÄÇô³öÀ´µÄÖµ£¬Ö»ÄÜÊÇÈ«²¿¿ÆÄ¿µÄ×ܺͣ¬ÓÃÁËcaseÒԺ󣬾ÍÊÇij¿ÆµÄ³É¼¨£»È»ºóÕâÀïÓÃÁ˺ü¸¸ösum£¬Ã¿¸ö¿ÆÄ¿Ò»¸ösum£¬ÓÚÊDZí1Öб¾À´Ä³ÈËij¿ÆÕ¼Ò»Ìõ¼Ç¼µÄ“ÐД¾Í±ä³ÉÁ˱í2ÀïijÈËÒ»Ìõ¼Ç¼£¬Ã¿¿Æ×öÒ»¸ö×Ö¶ÎÁË¡£
ÕâÖÖÐÄ˼ÇÉÃîºÍ¶ÔÓï·¨µÄÊìÁ·ÔËÓÃÈÃÈË»÷½ÚÔÞ̾¡£
2¡¢    ÀûÓÃselect from (select from)µÄģʽÉú³ÉSQLÓï¾ä
1  declare @sql varchar( 4000 )
2  set  @sql  =   ' select stdname ' 
3  select @sql  =  @sql  +   ' ,isnull(sum(case stdsubject when  ''' + stdsubject + '''  then Result end),0) [ ' + stdsubject + ' ] ' 
4  from (select distinct stdsubject from #student)  as  a
5  select @sql  =  @sql + '  from #student group by stdname ' 
6  print @sql
7  exec(@sql)
ΪÁË×Ô¶¯Ð´ÉÏËùÓеĿÆÄ¿£¬ÕâÀïÏȽ«¿ÆÄ¿ÐÅÏ¢ÌáÁ¶³öÀ´£º
4  from (select distinct stdsubject from #student)  as  a
ÀûÓÃ֮ƴ½ÓÉú³ÉSQLÓï¾ä¡£µ±È»ÏÖʵÖУ¬Èç¹û#student±íºÜ´ó£¬ÕâÖÖ×ö·¨²¢²»Í×£¬Ó¦¸Ã¶¼ÓÐÒ»¸öרÃŵĿÆÄ¿Àà±ð±íµÄ¡£
3¡¢    ÔÚÁÙʱ¿âÖÐÌáÁ¶³ö×Ö¶ÎÃû¡£ÁÙʱ±íÊÇÕæÊµ´æÔÚµÄ±í£¬±£´æÔÚ[tempdb]ÖУ¬¿ÉÒÔÀûÓÃobject_id('tempdb.dbo.±íÃû')


Ïà¹ØÎĵµ£º

[SQL]SQLÐÔÄܵ÷ÓÅ

³õ¼¶Æª —— ¼òµ¥²éѯÓï¾äµÄµ÷ÓÅ ÀîÃ÷»Û , Èí¼þ¹¤³Ìʦ, IBM­
ÀîÃ÷»Û£¬ÔÚ IBM ÖйúÈí¼þ¿ª·¢ÖÐÐÄ Data Studio ÍŶӹ¤×÷´ÓÊ InfoSphere Warehouse Administration Console µÄ¹¦ÄܲâÊÔ¹¤×÷¡£ÔøÔÚ developerWorks ·¢±í¡¶½« DB2 DWE 9.1.X Ç¨ÒÆµ½ DB2 Warehouse 9.5¡·¡¢¡¶InfoSphere Warehouse SQL ²Ö´¢ÃüÁîÐнӿ ......

sql server 2000 Êý¾Ý±íµÄ ¹Ø¼ü×Ö

create table "user" (
   id                   int                  identity,
   constraint PK_USER prim ......

ʵÏÖ¶àÐкϲ¢Ò»ÐеÄSQL [MSSQL2005]д·¨

--1. ´´½¨±í£¬Ìí¼Ó²âÊÔÊý¾Ý
CREATE TABLE tb(id int, [value] varchar(10))
INSERT tb SELECT 1, 'aa'
UNION ALL SELECT 1, 'bb'
UNION ALL SELECT 2, 'aaa'
UNION ALL SELECT 2, 'bbb'
UNION ALL SELECT 2, 'ccc'
--SELECT * from tb
/**//*
id value
----------- ----------
1 aa
1 bb
2 aaa ......

SqlÓÅ»¯·½·¨

ÎÒÃÇÒª×öµ½²»µ«»áдSQL,»¹Òª×öµ½Ð´³öÐÔÄÜÓÅÁ¼µÄSQL,ÒÔÏÂΪ±ÊÕßѧϰ¡¢ÕªÂ¼¡¢²¢»ã×ܲ¿·Ö×ÊÁÏÓë´ó¼Ò·ÖÏí£¡
£¨1£©      Ñ¡Ôñ×îÓÐЧÂʵıíÃû˳Ðò(Ö»ÔÚ»ùÓÚ¹æÔòµÄÓÅ»¯Æ÷ÖÐÓÐЧ)£º
ORACLE µÄ½âÎöÆ÷°´ÕÕ´ÓÓÒµ½×óµÄ˳Ðò´¦Àífrom×Ó¾äÖеıíÃû£¬from×Ó¾äÖÐдÔÚ×îºóµÄ±í(»ù´¡±í driving table)½«±»×îÏÈ´¦Àí£¬ÔÚfrom× ......

sqlÓÅ»¯ ¶Ôlike ¡®%xx%¡¯ µÄÌæ»»

ÔÚSQLÖпÉÒÔʹÓÃLike½øÐÐÄ£ºý²éѯ£¬ÀýÈç f_stuname like 'a%' ²éѯf_stunameÁÐÒÔa¿ªÍ·µÄ¼Ç¼¡£
µ±ÎÒÃÇÔÚÓ¦ÓÃÖÐʹÓÃ
f_stuname
like '%a%' ʱ£¬Èç¹û

f_stunameÓÐË÷ÒýµÄ»°£¬Õâ¸öË÷ÒýÒ²ÊDz»Ö´ÐеÄ
ÔÚSQLÓÅ»¯ÖÐÕâ¸öд·¨¾ÍÊÇÒ»¸ö²»ºÃµÄSQLÁË¡£
ÄÇôÈçºÎÀ´Ìæ»»Õâ¸öÄØ£¬ÕâÒ»¸ö¾ÍÓõ½ÁËOracleµÄinstrº¯ÊýÁË
ÎÒÃÇ¿ÉÒÔÕâÑù ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ