select * from TeachingDirectory  where ParentTDID in (
select top 1 TDID  from TeachingDirectory  where ParentTDID='20575' )这条语句我希望他执行10次,第一次的ID是我给的人后他后面10次根据TDID这个ID来查找,然后给出结果怎么写求

解决方案 »

  1.   

    ;WITH t AS 
    (
    select top 1 TDID,ParentTDID,lvl=0 from TeachingDirectory where ParentTDID='20575'
    UNION ALL 
    SELECT a.*,lvl+1 FROM TeachingDirectory a JOIN t b ON a.ParentTDID=t.TDID
    )
    SELECT TDID FROM t WHERE lvl<10
      

  2.   

    ;with ta as 
    (
        select xxx from xxx
        union all
        select xxx from xxx
    ) select * from ta
      

  3.   

    T是什么,用 UNION、INTERSECT 或 EXCEPT 运算符合并的所有查询必须在其目标列表中有相同数目的表达式。
    什么意思
      

  4.   

    select * from TeachingDirectory where ParentTDID in (
    select top 1 TDID from TeachingDirectory where ParentTDID='20575' )这条语句的结果有的DownTDID这个字段我需要这个字段的结果来查询下个,结果是我10次的查询的结果
     
      

  5.   

    代码改一下,关于T是什么意思,可参考联机帮助,搜索CTE
    ;WITH t AS 
    (
        select top 1 TDID,ParentTDID,lvl=0 from TeachingDirectory where ParentTDID='20575'
        UNION ALL 
        SELECT a.TDID,a.ParentTDID,lvl+1 FROM TeachingDirectory a JOIN t b ON a.ParentTDID=t.TDID
    )
    SELECT TDID FROM t WHERE lvl<10
      

  6.   

    消息 4104,级别 16,状态 1,第 1 行
    无法绑定由多个部分组成的标识符 "t.TDID"。是什么意思我SQL太白痴了