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

sqlÌæ»»Óï¾ä

--·Ö½â×Ö·û´®°üº¬µÄÐÅÏ¢ÖµºóÈ»ºóºÏ²¢µ½ÁíÍâÒ»±íµÄÐÅÏ¢
--(°®Ð¾õÂÞ.ع»ª(Ê®°ËÄê·çÓê,ÊØµÃ±ùɽѩÁ«»¨¿ª)  2007-12-23  ¹ã¶«ÉîÛÚ)
/*ÎÊÌâÃèÊö
tba
ID  classid   name
1     1,2,3   Î÷·þ
2     2,3     ÖÐɽװ
3     1,3     Ãû¿ã
tbb
id   classname
1     Ò·þ
2     ÉÏÒÂ
3     ¿ã×Ó
ÎҵõĽá¹ûÊÇ
id   classname            name
1     Ò·þ,ÉÏÒÂ,¿ã×Ó      Î÷·þ
2     ÉÏÒ£¬¿ã×Ó          ÖÐɽװ
3     Ò·þ£¬¿ã×Ó          Ãû¿ã
*/
-----------------------------------------------------
--sql server 2000ÖеÄд·¨
create table tba(ID int,classid varchar(20),name varchar(10))
insert into tba values(1,'1,2,3','Î÷·þ')
insert into tba values(2,'2,3'  ,'ÖÐɽװ')
insert into tba values(3,'1,3'  ,'Ãû¿ã')
create table tbb(ID varchar(10), classname varchar(10))
insert into tbb values('1','Ò·þ')
insert into tbb values('2','ÉÏÒÂ')
insert into tbb values('3','¿ã×Ó')
go
--µÚ1ÖÖ·½·¨£¬´´½¨º¯ÊýÀ´ÏÔʾ
create function f_hb(@id varchar(10))
returns varchar(1000)
as
begin
  declare @str varchar(1000)
  set @str=''
  select @str=@str+','+[classname] from tbb where charindex(','+cast(id as varchar)+',',','+@id+',')>0
  return stuff(@str,1,1,'')
end
go
select id,classid=dbo.f_hb(classid),name from tba
drop function f_hb
/*
id          classid       name      
----------- ------------- ----------
1           Ò·þ,ÉÏÒÂ,¿ã×Ó Î÷·þ
2   &


Ïà¹ØÎĵµ£º

SQL²âÊÔ ½»¼¯¡¢²¢¼¯¡¢²î¼¯¡¢µÑ¿¨¶û»ý

²¢¼¯:
ʹÓà UNION ÔËËã·û×éºÏ¶à¸ö½á¹û
SELECT name,num from Table1
UNION
SELECT name,num from Table2
×¢Ò⣺²éѯµÄ×ֶθöÊý±ØÐëÏàͬ£¬Table2µÄ×Ö¶ÎÀàÐÍÒª¸úTable1µÄÏàͬ.
Èç¹ûʹÓà UNION ÔËËã·û£¬ÄÇôµ¥¶ÀµÄ SELECT Óï¾ä²»Äܰüº¬Æä×Ô¼ºµÄ ORDER BY »ò COMPUTE ×Ӿ䡣ֻÄÜÔÚ×îºóÒ»¸ö SELECT Óï¾äµÄºóÃæÊ¹ÓÃÒ»¸ö ORD ......

SQL ÖÐWith as µÄÓ÷¨

Ò»£®WITH ASµÄº¬Òå
WITH AS¶ÌÓҲ½Ð×ö×Ó²éѯ²¿·Ö£¨subquery factoring£©£¬¿ÉÒÔÈÃÄã×öºÜ¶àÊÂÇ飬¶¨ÒåÒ»¸öSQLƬ¶Ï£¬¸ÃSQLƬ¶Ï»á±»Õû¸öSQLÓï¾äËùÓõ½¡£ÓеÄʱºò£¬ÊÇΪÁËÈÃSQLÓï¾äµÄ¿É¶ÁÐÔ¸ü¸ßЩ£¬Ò²ÓпÉÄÜÊÇÔÚUNION ALLµÄ²»Í¬²¿·Ö£¬×÷ΪÌṩÊý¾ÝµÄ²¿·Ö¡£
ÌØ±ð¶ÔÓÚUNION ALL±È½ÏÓÐÓá£ÒòΪUNION ALLµÄÿ¸ö²¿·Ö¿ÉÄÜÏàͬ£¬µ ......

ÏòsqlÊý¾Ý¿âÖвåÈë¿Õʱ¼ä±¨ÏµÍ³´íÎóµÄ½â¾ö·½·¨

Êý¾Ý¿â±íÉè¼ÆÊ±Èç¹ûÉèÖÿÉÒÔΪnull,ÔòËü¾Í²»»á±äΪ'1900-1-01'  
  Èç¹ûÉè¼ÆÊ±²»¿ÉÒÔΪnull,Ëü¾Í»áĬÈÏΪ:   '1900-01-01'
CREATE proc UP_Rsk_AddModel  @ygcode varchar(6),  @name varchar(8),  @xb varchar(2),  @bm varchar(32),  @jg varchar(16),  @mz varchar(16) ......

SQLÖÐobject_idº¯ÊýµÄÓ÷¨

SQLÖÐobject_idº¯ÊýµÄÓ÷¨ ÊÕ²Ø
 int object_id('objectname');
´Ë·½·¨·µ»ØÊý¾Ý¿â¶ÔÏó±êʶºÅ¡£
ÆäÖУ¬²ÎÊýobjectname ±íʾҪʹÓõĶÔÏ󣬯äÊý¾ÝÀàÐÍΪnchar»òchar£¨Èç¹ûΪchar£¬ÏµÍ³½«Æäת»»Îªnchar£©
·µ»ØÀàÐÍΪint£¬±íʾ¸Ã¶ÔÏóÔÚϵͳÖеıàºÅ¡£
±ÈÈ磺
use wf_timesheet
select object_id('usp_check_excess ......

SQL Server ´æ´¢¹ý³ÌÈëÃÅѧϰ

´´½¨´æ´¢¹ý³Ì֮ǰҪÏÈÓÃuseÓï¾äÉùÃ÷Òª½«´æ´¢¹ý³Ì´æ´¢ÔÚÄĸöÊý¾Ý¿âÖÐ. e.g use company; Ö´ÐÐÖ®.Ö®ºó¾Í¿ÉÒÔÉùÃ÷´æ´¢¹ý³ÌÁË. e.g create procedure *** @id varchar(50) , @name int output as select @name=name from table where id=@id È»ºó¿ÉÒÔÓÃalter¶Ô´æ´¢¹ý³Ì½øÐÐÐÞ¸Ä. declare¿ÉÒÔÉùÃ÷Ò»¸ö±äÁ¿ ÓÃset¶Ô±ä ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ