sql-server - 如何使用别名更正查询
问题描述
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'。我会很感激
解决方案
问题在于A.Mnumber AS ContractNumber
. 在这里,您从看似不存在Mnumber
的对象中引用列。A
这意味着您没有命名A
但可能意味着SomeTable as A
基于其余代码的表或视图。
Aaron Bertrand:要改掉的坏习惯:使用表别名,例如 (a, b, c) 或 (t1, t2, t3)
对于您拥有的表,您应该选择更好的别名,例如payorPlan
,payorParent
或其他有意义的别名。
推荐阅读
- python - 在python中将整数写入文件的语法错误
- gcloud - 如何根据目录更改 gcloud auth
- amazon-dynamodb - 如何使用 cloudformation 在 dynamodb 中添加列
- telemetry - OpenTelemetry(Java)中父子跨度的相同跨度ID
- java - 基于Java中的某些约束打印字符串(字符串和数组)(压缩解压缩)
- jbpm - 无法将默认业务应用程序 kjar 项目导入业务中心
- django - Django,不断重定向到错误的页面
- android - 如何在 android 10 中获取唯一的设备 ID?
- iis - 从 IIS 获取当前正在处理的请求的详细信息
- postgresql - NPgsql 是否支持 OLEDB 与 PostgreSQL 服务器的连接?