我有 2 张桌子:
- 表1 = 加油站名称(成对)
- 表2 =具有坐标信息(经度和纬度等)
表1 示例:
StationID1 StationID2 Name1 Name2 Lattitude1 Longitude1 Lattitude2 Longitude2 Distance
------------------------------------------------------------------------------------------------
93353477 52452 FOO BAR NULL NULL NULL NULL NULL
93353527 52452 HENRY BENNY NULL NULL NULL NULL NULL
93353551 52452 GALE SAM NULL NULL NULL NULL NULL
表2示例:
IDInfo Name Lattitude Longitude
-------------------------------------------
93353477 BAR 37.929654 -87.029622
我想用位于tableA
. 我尝试按照SQL Server 2005 执行以下操作:多部分标识符……无法绑定
update table1
set t1.[Lattitude1] = t2.[Lattitude]
from table1 t1
left join table2 t2
on (t1.StationID1 = t2.IDInfo)
我收到以下错误消息:
消息 4104,级别 16,状态 1,行 1
无法绑定多部分标识符“t1.Lattitude1”。
但是,如果我执行以下操作,则可以将其存储到另一个表中。
SELECT t1.[StationID1]
,t1.[StationID2]
,t1.[Name1]
,t1.[Name2]
,t2.[Lattitude] AS [Lattitude1]
,t2.[Longitude] AS [Longitude1]
,t3.[Lattitude] AS [Lattitude2]
,t3.[Longitude] AS [Longitude2]
from table1 t1
left join table2 t2
on (t1.StationID1 = t2.IDInfo)
left join table2 t3
on (t1.StationID2 = t2.IDInfo)
我对 SQL 很陌生,很难理解为什么有些东西有效而另一些无效。根据我在我的初始查询上方发布的链接应该有效 - 不是吗?也许我没有直接思考,因为我花了很多时间尝试这个,最后我得到了一位同事的帮助(她建议了我上面提到的方法)。