代码之家  ›  专栏  ›  技术社区  ›  ste92

SQL-无法绑定多部分标识符[已关闭]

  •  0
  • ste92  · 技术社区  · 7 年前

    我必须在过程中实现现有的SQL查询。

    以下是查询:

    WITH path(pot, pat, CostCenterID) 
        AS (
        SELECT
            CAST(CAST(Position AS varchar(5)) + '.' AS varchar(30)) AS pos
            , CAST(' . ' AS varchar(30)) AS poi
            , CostCenterID
        FROM
            dbo.View_CostCenter_ActHierarchy AS c
        WHERE
            (ParentID = '          ') 
            AND (Scenario = (SELECT status FROM dbo.Help_Variables WHERE (id = 'actsce'))) 
            AND (Version =  (SELECT status FROM dbo.Help_Variables WHERE (id = 'actver')))
    
        UNION ALL
    
        SELECT
            CAST(p.pot + CAST(c.Position AS varchar(5)) + '.' AS varchar(30)) AS pos
            , CAST(p.pat + ' . ' AS varchar(30)) AS poi
            , c.CostCenterID
        FROM
            dbo.View_CostCenter_ActHierarchy AS c 
            INNER JOIN paths AS p ON c.ParentID = p.CostCenterID
        WHERE 
            (c.Scenario = (SELECT status FROM  dbo.Help_Variables WHERE (id = 'actsce'))) 
            AND (c.Version = (SELECT status FROM dbo.Help_Variables  WHERE (id = 'actver')))
    
    )
    

    直到第二天看起来都很好 select-statement . 我得到的错误如下: p.pot , p.pat , paths p.CostCenterID . 错误是:

    的多部分标识符。。。无法绑定

    有没有人有过这方面的经验,或者给我一些提示,因为我是SQL新手。 你的回答真是太好了! 提前感谢您!

    1 回复  |  直到 7 年前
        1
  •  1
  •   Ezin82    7 年前

    可能是因为你给你的CTE命名了 路径

    WITH path(pot, pat, CostCenterID) 
    

    但在内部连接中,您使用 路径

    FROM
        dbo.View_CostCenter_ActHierarchy AS c 
        INNER JOIN paths AS p ON c.ParentID = p.CostCenterID