首页 > 解决方案 > 如何使用别名更正查询

问题描述

  Select Top 100

   A.Mnumber AS ContractNumber,
   B.Payor_Parent_Code,
   C.Payor_Parent_Name,
   B.Payor_Code,
   D.Payor_Name,
   E.Payor_Plan_Code,
   E.Payor_Plan_Name


from A

    left join B ON  A.[Payor_Plan_Code]=B.[Payor_Plan_Code]
    INNER JOIN  C ON B.[Payor_Parent_Code]=C.[Payor_Parent_Code]
    INNER JOIN D ON A.Payor_Code=D.Payor_Code
    INNER JOIN  E ON A.[Payor_Plan_Code]=E.[Payor_Plan_Code]

    WHERE NOT Payor_Parent_Name  = 'OTHER'       

使用这个查询我得到一个错误无效的对象名称'A'。我会很感激

标签: sql-server

解决方案


问题在于A.Mnumber AS ContractNumber. 在这里,您从看似不存在Mnumber的对象中引用列。A这意味着您没有命名A但可能意味着SomeTable as A基于其余代码的表或视图。

Aaron Bertrand:要改掉的坏习惯:使用表别名,例如 (a, b, c) 或 (t1, t2, t3)

对于您拥有的表,您应该选择更好的别名,例如payorPlan,payorParent或其他有意义的别名。


推荐阅读