5

このクエリはどういう意味ですか?

@numberx = @numberx -1
UPDATE  th
SET     @numberX= numberY= @numberX + 1
FROM    Table1 th
INNER JOIN Table2 td ON th.Id = td.idth
WHERE   td.anything = @anything

3 行目、この「二重の平等」とは何ですか? そして、UPDATE のこの「from」と「inner」とは何ですか?

4

1 に答える 1

8

Table1これは、 の対応する行が列にTable2特定の値を持つ各行に連続した番号を割り当てるための複数のテーブル更新ですanything

一致する行ごとに、列numberYを の値に設定します@numberX + 1。また、その値を に再割り当てし@numberX@numberX行ごとにインクリメントします。

これは「風変わりな更新」として知られています。これは、現在の合計を生成するための文書化されておらず、保証されていないアプローチです。2012 年SUM() OVER (ORDER BY ...)には、代わりに使用する必要があります。

于 2012-12-19T14:13:23.263 に答える