我有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和我有困难的时候理解为什么一些工作的事情和别人不一样。 根据我上面我的初始查询发布应该有工作的链接 - 不是吗? 也许是我没有想到直,因为我花了很多时间在尝试此,我终于得到了一个同事的帮助(她提议的做法我上面提到)。