質問: (SELECT MAX(no) FROM data_table);
回答: 手元に実行環境がないので不確実ですが、 ``` UPDATE data_table SET data_table.no = T.no FROM data_table INNER JOIN (SELECT sort_table.cd cd, no_table.no + ROW_NUMBER() OVER(ORDER BY sort_table.sort) no FROM sort_table,no_table ) T ON data_table.cd = T.cd WHERE data_table.no IS Null ``` という感じでしょうか? SETでのサブクエリは結果が一件でないとエラーになってしまいます。 また、一件だと10001になってしまうのは、結果が一件だとROW_NUMBERは必ず1を返すからです。