MERGE
を使用する INSERT
の代わりに :
MERGEINTO trn_temp dUSING(SELECT D.DET_DATE、'SOMETEXT' AS sometext、SUM(D.DET_NET)AS the_sum ...)sON(1 =0)WHEN NOT MATCHED THENINSERT(TRN_TRAN_DATE、TRN_DESCRIPTION、TRN_AMT) VALUES(det_date、sometext、the_sum)OUTPUTs。*
更新:
GROUP BY
を回避するには 問題、これを使用してください:
DECLARE @tmp TABLE(det_primary INT NOT NULL PRIMARY KEY)MERGEINTO register rUSING detail dON(r.det_primary_link =d.det_primary)WHEN NOT MATCHED THENINSERT(det_primary_link、ins_date)VALUES(det_primary、GETDATE() d.det_primaryINTO @tmp; INSERTINTO trn_temp(trn_tran_date、trn_description、trn_amt)OUTPUTINSERTED。*SELECT det_date、'sometext'、SUM(det_net)FROM @tmp tJOIN detail dON d.det_primary =t.det_primaryGROUP BY det_date