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

sql ¹ØÓÚtreeµÄÎÊÌâ

Ê÷½á¹¹ÈçÏ£º

id employee_id username age Salary higher_id
1 E001 a 32 20000 E001
2 E002 a1 30 12000 E001
3 E003 a2 30 12000 E001
4 E004 aa1 25 4000 E002
5 E005 aa2 25 4000 E002
6 E006 aa3 32 4000 E003

ÈçºÎµÃ³öijԱ¹¤ÏÂÃæËùÓм¶ÁªÔ±¹¤µÄ×ÜÊý ±ÈÈ磺Ա¹¤ a ÏÂÃæÓÐ 2¸ö £¨a1,a2£©È»ºó a1 ÏÂÃæÓÖÓÐ2¸ö(aa1,aa2) £¬a2 ÏÂÃæÓÐÒ»¸ö£¨aa3£©ÄÇ×ܺ;ÍÊÇ 2+(2+1)=5¸öÁË¡£»»¾ä»°Ëµ¡£ÕÒÊ÷è¾µÄÒ¶×Ó½Úµã×ÜÊý£¬

ÎÒÕâÓÐÒ»¸ö£¬ÇóÒ¶×ÓÉî¶ÈµÄ´úÂë¡£ ÈçÏ£º

create function Getunderlyinglevel(@emploryee_id as varchar(50))
--»ñȡijԱ¹¤Ëù´¦Ö°Î»²ã´ÎµÄÉî¶È
returns int
as
begin
RETURN
(
  case when  exists (select * from employee_info where employee_id=@emploryee_id and higher_id=@emploryee_id)
  then
    1
  else
    1 +  (select MAX(dbo.GetUnderlyingLevel(employee_id))  from employee_info where higher_id=@emploryee_id)
  end
  )
end

Èç¹ûÓÃͬÑùµÄµÝ¹é·½·¨ÔõôµÃ³öÒ¶×ÓµÄ×ÜÊý?
 
×Ô¼ºÏȶ¥¡£ÎÒÕâÓÐÒ»¸ö£¬ÇóÒ¶×ÓÉî¶ÈµÄ´úÂë¡£ ÈçÏ£º
SQL code:

create function Getunderlyinglevel(@emploryee_id as varchar(50))
--»ñȡijԱ¹¤Ëù´¦Ö°Î»²ã´ÎµÄÉî¶È
returns int
as
begin
RETURN
(
case when exists (select *


Ïà¹ØÎÊ´ð£º

¹ØÓÚSQLSERVERµ×²ãÎÊÌâ - MS-SQL Server / ÒÉÄÑÎÊÌâ

ÇëÎÊһϣ¬ÍâÍøÁ½Ì¨SQLSERVERʵÀýÊý¾Ý´«Ê䣬ÓÐûÓвÉÓÃÊý¾ÝѹËõºÍ¼ÓÃÜ¡£Ñ¹Ëõ±ÈÊǶàÉÙ£¬¼ÓÃÜÊÇʲô¼ÓÃÜËã·¨£¿Ïà¹ØÎĵµÄÄÀï¿ÉÒÔÕÒµ½£¿Ð»Ð»


ÎÒÒ²ÏëÖªµÀ£¡¹Ø×¢´ËÌù£¡

¹Ø×¢¡«¡«

Êý¾Ý¿â´óÅ£¶¼ÄÄÈ¥Á˰¡£¿
......

sql º¯ÊýÎÊÌâ

sql 2005Êý¾Ý¿âÎÒÏëµÃµ½Ò»×Ö·û´®Îª:
sldkf|||sdeww
erkv|||rltdk
jemcl|||ligf
¾ÍÊÇ|||ºóÃæµÄ×Ö·ûÓÐʲôº¯ÊýÄܵõ½Âð£¿ÊÇÔÚsqlÓï¾äдµÄ£¬²»ÊÇÔÚÒ³ÃæÐ´µÄ£¬ÄÇλ¸ßÊÖÀ´Ö¸½ÌÏ£¬ÐÂÊÖ£¬Ð»Ð»
ÔΠ µ ......

sqlÐÔÄÜÇóÖú - MS-SQL Server / ÒÉÄÑÎÊÌâ

³¡¾°ÈçÏ£º
¿Í»§°Ñ±¸·ÝºÃµÄÊý¾Ý¿â£¬·¢¸øÎÒ£¬ÎÒÔÚ±¾»ú»¹Ô­ºó£¬ÔËÐÐдºÃµÄ´æ´¢¹ý³Ì£¬±È½Ï¿ì£¬²¢ÇÒÔÚʵʩÄDZßÔËÐÐͬÑù±È½Ï¿ì¡£µ«Êǵ±ÊµÊ©ÔÚ¿Í»§ÄDZßÔËÐеÄʱºòËٶȾͷdz£µÄÂý£¬Ê±¼ä³¬³öÁ˳ÌÐòµÄʱ¼äÏÞÖÆ¡£Ô¶³ÌÔÚ¿Í»§ÄÇ ......

Ò»Ìõsql²éѯÓï¾ä

ÌâÄ¿£º°Ñ¡°SC¡±±íÖС°Ò¶Æ½¡±ÀÏʦ½ÌµÄ¿ÎµÄ³É¼¨¶¼¸ü¸ÄΪ´Ë¿Î³ÌµÄƽ¾ù³É¼¨£» 
sqlÓï¾ä£º
  update SC set score=(SELECT avg(SC_2.score)  
  from SC SC_2  
  WHERE S ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ