这应该很容易,但我就是不明白。我有一个从不同来源填充的临时表。在临时表中,我有一堆可能具有相同细分名称的行。如果细分名称相同,那么我希望该细分的最高纬度和经度位于该细分的所有行中。我需要对临时表中 iSource = 1 或 2 的所有细分执行此操作。iSource 字段是不同的来源。0 是最可靠的,4 没有经纬度。
温度表
SubdivisionName  Latitude  Longitude  iSource
A                100       200        0
A                100       200        0
A                102       200        2
B                104       202        1
B                105       203        1
B                106       202        2
期望的结果
SubdivisionName  Latitude  Longitude  iSource
A                100       200        0
A                100       200        0
A                100       200        2
B                104       202        1
B                104       202        1
B                104       202        2
我试过这个,但 SQL Server 2005 不喜欢我的前缀 TT 或 TTT。你能为我指出正确的方向吗?
WITH #TempTable
AS
(
SELECT TTT.*
, ROW_NUMBER() OVER(PARTITION by SubdivisionName ORDER BY iSource) AS rnk
from #TempTable TTT WHERE iSource IN (1,2)
)
UPDATE #TempTable
SET FieldSheetLat = TTT.FieldSheetLat, Longitude = TTT.FieldSheetLong