0
这应该很容易,但我只是没有得到它。我有一个临时表,我从不同的来源填充。在临时表中,我有一堆可能具有相同细分名称的行。如果细分名称相同,则我希望该细分的顶部纬度和经度位于该细分的所有行中。我需要为临时表中iSource = 1或2的所有细分部分执行此操作。iSource字段是不同的来源。 0是最可靠的,4是没有纬度或长度。MS SQL更新查询 - 将具有相同字段A的所有行更新为顶部A值
临时表
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
谢谢你的e答案和帮助我格式化文本! – Mike 2013-05-08 12:52:42