我有下面的SQL查詢,這個查詢檢測缺少序列的目的:例如,如果我有seq 1,2,3,5。它應該更新記錄5並顯示消息「以前的序列丟失」。在同一個表上使用內部連接的SQL - (Update,From)語句
正在嘗試如下,但它給錯誤在第1行是TblA
是模糊的,從inner join
語句來做到使用更新此邏輯:
update dbo.TblA
set Msg = 'Previous sequence is missing'
from dbo.TblA R1
left join dbo.TblA R2
on (R2.Sequence = R1.Sequence -1)
and (R2.StatementNumber = R1.StatementNumber)
where R2.TransID is null and R1.Sequence <> 1
我知道,這可以很容易通過嵌套查詢固定的,但我思考更有組織和整潔的東西:)
爲什麼不是子查詢「有組織和整潔」? – Richard
使用你定義的別名:更新R1設置Msg ='上一個.... .... –
@MarcGuillot這給了「多部分標識符」錯誤 –