如何修复此“多部分标识符无法绑定”?

时间:2016-01-11 14:55:27

标签: sql sql-server-2012

我有两张桌子。他们是:

Country(CountryID,CountryName,AboutCountry)
City(CityID,CityName,Location,AboutCity,CountryID)

他们处于一对多的关系中(从国家的角度来看)。我创建了一个像这样的视图

CREATE VIEW GetByID AS 
SELECT DISTINCT CountryName FROM 
City  INNER JOIN Country ON
City.CountryID = Country.CountryID

我收到此错误,称为多部分标识符,在执行此查询后无法绑定

SELECT * FROM GetByID WHERE City.CityID = 1

我使用 1 因为我知道 CityID = 1 属于city表中的城市。如果我在不使用视图的情况下执行,那么我就不会再出现该错误了。为什么会出现这种错误?有人可以解释这个错误,我该如何避免这种错误?

提前致谢。

1 个答案:

答案 0 :(得分:2)

您创建的视图仅包含CountryName字段。然后您正在搜索不在您视野中的CityID。看来你正在接近你的观点作为一个程序。你应该将它视为一个表,它是用字段创建的,你不能查询那里尚未存在的内容。您应该扩展视图以包含CityID