【问题标题】:Make a recursive function in SQL Server 2005在 SQL Server 2005 中创建递归函数
【发布时间】:2010-12-15 03:52:23
【问题描述】:
cat_id  prod_name parent_cat_id
------ ---------- ------------
1   prod_1     2
2   prod_2     5
3   prod_3     1
4   prod_4     3
5   prod_5     7
6   prod_6     5

在递归函数中,创建一个表并使用这些表,如果 cat_id = 1 和 parent_cat_id = 1 采用该产品名称,如果该产品类别 id 和父类别 id 相同,则也采用该记录..

ANS IS LIKE :::

1   prod_1     2
2   prod_2     5
5   prod_5     7

【问题讨论】:

  • 示例中的最后一行应该是“5 prod_5 7”吗?
  • 是的..最后一行是..是你写的
  • 在实际中使用递归函数......

标签: sql sql-server recursion recursive-query


【解决方案1】:
WITH    rows AS
        (
        SELECT  cat_id, prod_name, parent_cat_id
        FROM    mytable
        WHERE   cat_id = 1
        UNION ALL
        SELECT  m.cat_id, m.prod_name, m.parent_cat_id
        FROM    mytable m
        JOIN    rows r
        ON      r.parent_cat_id = m.cat_id
        )
SELECT  *
FROM    rows

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多