当我尝试运行以下语句时,会返回错误消息: 服务器:消息208,级别16,状态1,行1 无效的对象名称'vendortofaultypeitemsmap'。
SQL帮助表示当“引用了不存在的对象”时出现此消息。如果我从vendortofaulttypeitemsmap *运行* select *,则此表确实存在并返回值。有人可以帮我查明导致错误消息的下面的语句有什么问题吗?提前谢谢。
select
vendortofaulttypeitemsmap.vendorid,
vendortofaulttypeitemsmap.faultypeitemguid,
guid_faulttypeitems.faulttypeitemname,
vendortoworkactionmap.workactionitemguid,
guid_workactionitem.workactionitemname
from vendortofaultypeitemsmap
inner join guid_faulttypeitems on
vendortofaulttypeitemsmap.faultypeitemguid=
guid_faulttypeitems.faultypeitemguid
inner join guid_workactionitem on
vendortoworkactionmap.workactionitemguid=
guid_workactionitem.workactionitemguid
where vendortofaulttypeitemsmap.vendorid=45
答案 0 :(得分:3)
你错过了't'vendortofaultTypeitemsmap。
答案 1 :(得分:2)
你有一个错字。它是vendortofaultypeitemsmap或vendortofaulttypeitemsmap。
答案 2 :(得分:2)
每次写出这些表名都可以轻松拼写错误。使用表别名来简化整个事情,并将其更改为:
select v.VendorID, v.FaultTypeItemGUID, f.FaultTypeItemName,
v.WorkActionItemGUID, w.WorkActionItemName
from VendorToFaultTypeItemsMap v
inner join GUID_FaultTypeItems f on v.FaultTypeItemGUID = g.FaultTypeItemGUID
inner join GUID_WorkActionItem w on v.WorkActionItemGUID = w.WorkActionItemGUID
where v.VendorID = 45
使用这样的长名称,使用混合大小写也可以帮助您更轻松地发现问题(假设您的数据库未设置为区分大小写)。