私は1つのテーブルtable1と選択クエリを持っています
select col1 from table1 where id <= 10;
同じ記録を更新したい
update table1 set col2 = 'some value' where id < 10;
両方の操作を1つのクエリで実行し、選択した結果も取得して使用できるようにしたい。
どうやってやるの?
更新する必要はありません。 useCASE
ステートメントです。
SELECT col2 = CASE WHEN id<=10 THEN 'some value' ELSE col1 END
FROM table1
更新された vlaue を取得するには、OUTPUTを使用してこの SQL クエリを試してください。
UPDATE persons
SET LastName = 'test'
OUTPUT Inserted.LastName
where id<10;
更新後に古い値が必要な場合:
UPDATE persons
SET LastName = 'test'
OUTPUT DELETED.LastName
where id<10;