パフォーマンス上の理由から (4 分から 20 秒に短縮)、#MRE に 4 列のデータを挿入し、2 番目のテーブルに 2 列を追加します。次に、#MRE で更新を実行します。テーブルで使用するインデックスにより、これが最もパフォーマンスの高い方法です。(私の最初のバージョンでは、これら 2 つのテーブルを単純に結合しましたが、小さなテスト ケースでは 4 分以上実行されました)
T SQL (2008 R2) でスタンドアロンでテストしました。できます。VS 2012 でデータセットを接続すると、2 番目のテーブルの 2 つの列が表示されません。(OrderTotal および PaymMode)
VS 2012 の SSRS がこれらの他の 2 つの列を表示できるようにする方法はありますか?
create table #MRE
(
CreatedBy nvarchar(5),
SalesID nvarchar(20),
SourceID nvarchar(20),
--OrderTotal numeric(28,12),
--PaymMode nvarchar(10),
SalesStatus nvarchar (30)
)
ALTER TABLE #MRE
ADD OrderTotal numeric(28,12)
ALTER TABLE #MRE
ADD PaymMode nvarchar(10)
UPDATE #MRE
SET #MRE.OrderTotal = pt.[AMOUNT],
#MRE.PaymMode = pt.[PAYMMODE]
FROM #MRE
join JSCUSTPAYMTABLE pt
on #MRE.SalesID = pt.SALESID
where #MRE.SalesID = pt.SALESID
and pt.DATAAREAID='mkc'