【问题标题】:SQL Server 2005 UDF to make a table data-type of self referencing table dataSQL Server 2005 UDF 制作自引用表数据的表数据类型
【发布时间】:2011-05-19 20:46:44
【问题描述】:

我有一个典型的员工自引用表。

如何构建 UDF 以返回可用于其他查询以加入的表数据类型,以便我将表中用户的 id 传递给 UDF 并获得该用户 @ 的结果987654322@ 和所有通过managerId 链接到他的用户?

我的桌子是EmployeeId, ManagerID, Name....

我只需要传递一个EmployeeId 并获得所有记录的递归结果,其中ManagerID 是传入参数的ID,以及任何将这些记录作为经理的记录,等等。 .

谢谢

【问题讨论】:

    标签: sql sql-server-2005 recursion user-defined-types


    【解决方案1】:
    CREATE FUNCTION GetEmployees  
    (  
      @EmployeeId int
    )
    RETURNS TABLE 
    AS
    RETURN 
    (
      WITH yourcte AS
      (
        SELECT EmployeeId, ManagerID, Name
        FROM Employees
        WHERE EmployeeId = @EmployeeId
        UNION ALL
        SELECT e.EmployeeId, e.ManagerID, e.Name
        FROM Employees e
        JOIN yourcte y ON e.ManagerID = y.EmployeeId
      )
    SELECT EmployeeId, ManagerID, Name
    FROM yourcte
    )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-12
      • 1970-01-01
      • 2023-03-22
      • 1970-01-01
      • 1970-01-01
      • 2012-02-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多