select * into #transacTbl from tmpTrans
insert
select
(case when tmpT.TranStatus = 10
then(
select ID, 'Returned')
else(
select ID, 'GoodSale')
end)
from
(
select * from MainTransacSource
) as tmpT
返品または良い販売/取引である場合、取引の詳細をラベル付きの別のテーブルに挿入できるようにしたいと考えています。カーソルを避けるためにこれを行ったので、カーソルを使用して解決策を提供することは避けてください。
コードが良さそうに見えることはわかっていますが、私が経験しているのは、case ステートメントがサブクエリを介して 1 つの値しか返さないということです。
これはコードの簡略版です。少なくとも 6 種類のケースがあり、ROW で挿入できるはずです。実際の列数は約 38 であるため、列ごとに各ケースを繰り返す必要があるとは考えたくありません。
これがロジックに合わない場合は、別の回避策を提案できます。もちろん、カーソルなしで。