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

¡¾×ª¡¿¹ØÓÚ"µÝ¹éÊ÷ÐβéѯSQL"µÄºÃÌû

-----------------------------------------------------------------------------------------------------------------------
create table tb(id varchar(3) , pid varchar(3) , name varchar(10))
insert into tb values('001' , null  , '¹ã¶«Ê¡')
insert into tb values('002' , '001' , '¹ãÖÝÊÐ')
insert into tb values('003' , '001' , 'ÉîÛÚÊÐ')
insert into tb values('004' , '002' , '퓼')
insert into tb values('005' , '003' , 'ÂÞºþÇø')
insert into tb values('006' , '003' , '¸£ÌïÇø')
insert into tb values('007' , '003' , '±¦°²Çø')
insert into tb values('008' , '007' , 'Î÷ÏçÕò')
insert into tb values('009' , '007' , 'Áú»ªÕò')
insert into tb values('010' , '007' , 'ËɸÚÕò')
go
--²éѯָ¶¨½Úµã¼°ÆäËùÓÐ×Ó½ÚµãµÄº¯Êý
create function f_cid(@ID varchar(3)) returns @t_level table(id varchar(3) , level int)
as
begin
  declare @level int
  set @level = 1
  insert into @t_level select @id , @level
  while @@ROWCOUNT > 0
  begin
    set @level = @level + 1
    insert into @t_level select a.id , @level
    from tb a , @t_Level b
    where a.pid = b.id and b.level = @level - 1
  end
  return
end
go
--µ÷Óú¯Êý²éѯ001(¹ã¶«Ê¡)¼°ÆäËùÓÐ×Ó½Úµã
select a.* from tb a , f_cid('001') b where a.id = b.id order by a.id
/*
id   pid  name      
---- ---- ----------
001  NULL ¹ã¶«Ê¡
002  001  ¹ãÖÝÊÐ
003  001  ÉîÛÚÊÐ
004  002  ÌìºÓÇø
005  003  ÂÞºþÇø
006  003  ¸£ÌïÇø
007  003  ±¦°²Çø
008  007  Î÷ÏçÕò
009  007  Áú»ªÕò
010  007  ËɸÚÕò
£¨ËùÓ°ÏìµÄÐÐÊýΪ 10 ÐУ©
*/
--µ÷Óú¯Êý²éѯ002(¹ãÖÝÊÐ)¼°ÆäËùÓÐ×Ó½Úµã
select a.* from tb a , f_cid('002') b where a.id = b.id order by a.id
/*
id   pid  name      
---- ---- ----------
002  001  ¹ãÖÝÊÐ
004  002  ÌìºÓÇø
£¨ËùÓ°Ï


Ïà¹ØÎĵµ£º

SQL »ù±¾²Ù×÷ ɾ³ý ÐÞ¸Ä Ë¢ÐÂ

SQLµÄ²Ù×÷£º
E.g.
judging-±íÃû
userid, name, password-±íÖеĹؼü×Ö
Ìí¼Ó£º
string sql = "insert into judging (userid,name,password) values('" + userid.Text.Trim() + "','" + name.Text.Trim() + "','" + password.Text.Trim() + "')";
 
ɾ³ý£º
string sql = "delete from judging where userid=" + ......

ɾ³ýsql serverÊý¾Ý¿âÖÐËùÓÐÊý¾Ý

Æäʵɾ³ýÊý¾Ý¿âÖÐÊý¾ÝµÄ·½·¨²¢²»¸´ÔÓ£¬ÎªÊ²Ã´ÎÒ»¹Òª¶à´ËÒ»¾ÙÄØ£¬Ò»ÊÇÎÒÕâÀï½éÉܵÄÊÇɾ³ýÊý¾Ý¿âµÄËùÓÐÊý¾Ý£¬ÒòΪÊý¾ÝÖ®¼ä¿ÉÄÜÐγÉÏà»¥Ô¼Êø¹ØÏµ£¬É¾³ý²Ù×÷¿ÉÄÜÏÝÈëËÀÑ­»·£¬¶þÊÇÕâÀïʹÓÃÁË΢ÈíδÕýʽ¹«¿ªµÄsp_MSForEachTable´æ´¢¹ý³Ì¡£
Ò²ÐíºÜ¶à¶ÁÕßÅóÓѶ¼¾­Àú¹ýÕâÑùµÄÊÂÇ飺ҪÔÚ¿ª·¢Êý¾Ý¿â»ù´¡ÉÏÇåÀíÒ»¸ö¿Õ¿â£¬µ«ÓÉÓÚ¶ÔÊý¾Ý¿ ......

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

ÐÐÁе¹ÖÃÔÚsql serverÖÐÊÇÒ»Öֺܳ£¼ûµÄ¼¼ÇÉ£¬ÔÚ×öÓ¦ÓÃϵͳµÄʱºò£¬¾­³£ÐèÒª×öһЩͳ¼Æ¹¦ÄܱÜÃâ²»ÁËʹÓÃÐÐÁе¹ÖÃÕâ¸ö¼¼ÇÉ£¬ÎÒССµÄ×öÁËÒ»ÏÂ×ܽ᣺
µÚÒ»ÖÖ£ºsql server 2000ÖÐʹÓÃcase½øÐÐÐÐÁе¹ÖÃ
create table RowCellConvertTest
(
 grade varchar(50),
 sex varchar(50),
 studentCount int
)
......

SQLµÄ×óÁ¬½Ó£¨left join £©


SELECT g.rid, room_no, planed_count,cc from
    (SELECT rid,room_no, planed_count from YC_HOTEL_ROOM_T ) r
left join
    (SELECT rid,count(*) cc  from  YC_GUEST_INFO_T group by rid ) g
ON   r.rid = g.rid  WHERE planed_ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ