修正したい SQL ステートメントがあります。現状では、単純な SELECT INTO を実行していますが、それを変更して、目的のテーブルに存在しないレコード (基準によって決定された) のみが追加されるようにしたいと考えています。
これが私の最初の声明です:
SELECT b.BallotID, m.MeetingDate
INTO StagingTable
FROM Ballot INNER JOIN Meeting on b.MeetingID = m.MeetingID
WHERE b.LastModifiedDate < '01-01-2010' AND ( b.BallotType = 'Agenda Vote' AND m.MeetingDate < GETDATE())
投票がまだ存在しない場合にのみ StagingTable が設定されるように変更したいと思います。これは受け入れられる方法ですか、それともより良い代替手段はありますか?
SELECT b.BallotID, m.MeetingDate
INTO StagingTable
FROM Ballot INNER JOIN Meeting on b.MeetingID = m.MeetingID
WHERE b.LastModifiedDate < '01-01-2010' AND ( b.BallotType = 'Agenda Vote' AND m.MeetingDate < GETDATE())
AND NOT EXISTS(SELECT 1 from StagingTable where BallotID = b.BallotID)) )