我目前正在处理某些GIS数据,并在MS SQL Server 2012中使用“地理”数据类型。尝试使用“视图”设计器显示“地理”类型的纬度和经度时遇到了一些困难,特别是如果我与另一个桌子。
例如,以下在视图设计器中可以正常工作:
SELECT dbo.table1.ID, dbo.table1.LocationTypeID, dbo.table1.Location, dbo.table1.Location.Lat as LocLatitude, dbo.table1.Location.Long as LocLongitude
FROM dbo.table1
但是,这不是:
SELECT dbo.table1.ID, dbo.table1.LocationTypeID, dbo.table2.LocationTypeName, dbo.table1.Location, dbo.table1.Location.Lat as LocLatitude, dbo.table1.Location.Long as LocLongitude
FROM dbo.table1 INNER JOIN
dbo.table2 ON dbo.table1.LocationTypeID = dbo.table2.ID
我发现,如果删除架构(dbo)并通过SQL命令手动创建视图,它将创建视图并正确运行,但是,稍后尝试通过设计器对其进行编辑时将显示错误。
作为参考,设计人员抛出的错误是“无法绑定多部分标识符”。
虽然手动创建View可以解决问题,但我真的很想找到一种解决此问题的方法,因为它困扰着我,但同时也导致其他从事该项目的人员遇到问题,因为他们不知道现在是将来编辑View的唯一方法是创建一个“ Alter View” SQL命令。
我已经尝试寻找答案,但是还没有找到任何东西,通常这不是问题,因为我只是从代码中获取Geography类型对象并显示纬度/经度,但是我需要创建第三方的导出/查看。
需要通过别名而不是直接引用表。@MartinSmith提供的答案
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句