"select *,(select count(*) from tree where parentid = T.id) as children from tree T where rootid = id "查询当前根节点下一层(where rootid = id ) 的记录(select *,) 并把相应记录的子接点数量查询出来( *,(select count(*) from tree where parentid = T.id) as children  )

解决方案 »

  1.   

    從表tree中查找PARENTID=T.ID的數目作為一個children字段
    然后從表tree中查出rootid=id的所有記錄
    相當于rooted=id的記錄加上了一個字段
      

  2.   

    举例:create table #a (id int,parentid int)insert #a values(1,null)insert #a values(2,1)
    insert #a values(3,1)insert #a values(4,2)
    insert #a values(5,2)
    insert #a values(6,2)insert #a values(7,3)select *,(select count(*) from #a where parentid=表别名.id) 子节点数 from #a 表别名
    go
    drop table #a
      

  3.   

    怎样去套用select colum_list from tablename 语法
      

  4.   

    *, (select count(*) from tree where parentid = T.id) as children ) 為colum_list
    tree  為 talbe
      

  5.   

    create table 表 (编号 int,父编号 int)insert 表 values(1,null)insert 表 values(2,1)
    insert 表 values(3,1)insert 表 values(4,2)
    insert 表 values(5,2)
    insert 表 values(6,2)insert 表 values(7,3)select *,(select count(*) from 表 where
     
    父编号=表别名.编号 -----子查询里的父编号=外面的编号 的数量求和) 子节点数 from 表 表别名
    go
    drop table 表
      

  6.   

    *代表所有列,后面跟(select count(*) from tree 
    where parentid = T.id) as children )这种结构符合语法吗?不过确实能执行
      

  7.   

    还有在sql server联机帮助中的::=表示什么意思呀?在麻烦您一次!
      

  8.   

    Transact-SQL 语法规则
    Transact-SQL 引用中的语法关系图使用下列规则。规范 用于 
    大写 Transact-SQL 关键字。 
    斜体 Transact-SQL 语法中用户提供的参数。 
    | (竖线) 分隔括号或大括号内的语法项目。只能选择一个项目。 
    [ ] (方括号) 可选语法项目。不必键入方括号。 
    {}(大括号) 必选语法项。不要键入大括号。 
    [ ,...n ] 表示前面的项可重复 n 次。每一项由逗号分隔。 
    [ ...n ] 表示前面的项可重复 n 次。每一项由空格分隔。 
    加粗 数据库名、表名、列名、索引名、存储过程、实用工具、数据类型名以及必须按所显示的原样键入的文本。 
    <标签> ::= 语法块的名称。此规则用于对可在语句中的多个位置使用的过长语法或语法单元部分进行分组和标记。适合使用语法块的每个位置由括在尖括号内的标签表示:<标签>。 
      

  9.   

    COUNT 是返回组中项目的数量。 语法
    COUNT ( { [ ALL | DISTINCT ] expression ] | * } )
    select count(*) from #a where parentid=表别名.id
    使用了子查询子查询基础知识
    子查询是一个 SELECT 查询,它返回单个值且嵌套在 SELECT、INSERT、UPDATE、DELETE 语句或其它子查询中。任何允许使用表达式的地方都可以使用子查询。下例中,一个子查询用作 SELECT 语句中名为 MaxUnitPrice 的列表达式。SELECT Ord.OrderID, Ord.OrderDate,
           (SELECT MAX(OrdDet.UnitPrice)
            FROM Northwind.dbo.[Order Details] AS OrdDet
            WHERE Ord.OrderID = OrdDet.OrderID) AS MaxUnitPrice
    FROM Northwind.dbo.Orders AS Ord子查询也称为内部查询或内部选择,而包含子查询的语句也称为外部查询或外部选择