CREATETABLE#tb1(stuIdINT,stuNameVARCHAR(30),teaIdINT);INSERTINTO#tb1(stuId,stuName,teaId)VALUES(1,'zhou',0),(2,'kong',0),(3,'hong',2),(4,'zhang',1),(5,'liu',4),
公用表表達(dá)式(CTE)可以認(rèn)為是在單個SELECT、INSERT、UPDATE、DELETE或CREATEVIEW語句的執(zhí)行范圍內(nèi)定義的臨時結(jié)果集。公用表表達(dá)式可以包括對自身的引用,這種表達(dá)式稱為遞歸公用表表達(dá)式。創(chuàng)建遞歸查詢。有關(guān)詳細(xì)信息,請...
sqlserver查詢樹形結(jié)構(gòu)的所有子節(jié)點用標(biāo)準(zhǔn)sql的with實現(xiàn)遞歸查詢(sql2005以上肯定支持,sql2000不清楚是否支持):withsubqry(id,name,pid)as(selectid,name,pidfromtest1whereid=5unionallselecttest1....
你的意思沒特別看懂,但是在ORACLE里面的遞歸語法是:select*fromtab...startwith...connectbycol_parent...你可以查一下startwith,connect的語法
withtt(select語句1--初始化unionallselect語句2)select*fromtt在select語句2中from的表里關(guān)聯(lián)with后面的表名tt就形成遞推了。
wheretab.parent_id=qry.id)select*fromqry;我用mysql5.0.22,不支持上述語法,oracle就可以(sqlserver應(yīng)該也可以):createtabletab1(user_idint,parent_idint);insertintotab1values(1,null);ins...
fromw_Storage_Depositorywherefidin(selectfidfromdbo.jt_base_companywherebj=1))改成select@p_b=fidfromw_Storage_Depositorywherefidin(selectfidfromdbo.jt_base_companywherebj=1)
district1as(selecta.*fromdistrictawherea.MENUIDin(selectPMENUIDfromdistrict))select*fromdistrict1orderbyMENUIDwith當(dāng)然可以實現(xiàn).請參照sqlserver2005的遞歸查詢http://bl...
table是你要查詢的表比如你想查看一個叫做user的表的所有內(nèi)容select*fromuser假設(shè)這個user里面有id,name兩個字段你現(xiàn)在想查看這個表有沒有一個叫做張三的這個人的信息select*fromuserwherename=...
回Transact-SQL中的遞歸CTE的結(jié)構(gòu)與其他編程語言中的遞歸例程相似。盡管其他語言中的遞歸例程返回標(biāo)量值,但遞歸CTE可以返回多行。遞歸CTE由下列三個元素組成:例程的調(diào)用。遞歸CTE的第一個調(diào)用包括一個或多...