【发布时间】:2017-06-20 09:05:09
【问题描述】:
任何人都可以检查我的 sql 查询,当使用 select 语句时,occurrence_number 列显示正确的值。
select t.[Employee Number], t.Document_Type, t.Document_Name,
row_number() over (partition by document_type
order by right(document_name, 6)
) as occurrence_number
from BluePrismProcesses.dbo.PID0147_DM t
工作
当我使用更新语句时,出现次数搞砸了。
update BluePrismProcesses.dbo.PID0147_DM
set Occurrence = R.occurrence_number
from (select t.[Employee Number], t.Document_Type, t.Document_Name,
row_number() over (partition by document_type
order by right(document_name, 6)
) as occurrence_number
from BluePrismProcesses.dbo.PID0147_DM t) R
where BluePrismProcesses.dbo.PID0147_DM.Document_Name = r.Document_Name
不工作
【问题讨论】:
-
两张图片相同
-
我刚刚更新了截图。
-
同样尝试使用替换更新语句来选择语句“select BluePrismProcesses.dbo.PID0147_DM.*, r.Occurrence from (select t.[Employee Number], t.Document_Type, t.Document_Name, row_number( ) over (partition by document_type order by right(document_name, 6) ) 作为从 BluePrismProcesses.dbo.PID0147_DM t) R where BluePrismProcesses.dbo.PID0147_DM.Document_Name = r.Document_Name "
-
你需要一些独特的东西才能加入。记录 6 和 7 是相同的,所以你不会知道它会得到哪个行号。我不是游标的忠实粉丝,但在这种情况下你需要一个。
标签: sql sql-server find-occurrences