SQL Server 2008 R2 を使用しています
挿入する前に二重データを回避するために、私のSQLステートメントは次のようになります。
select * from LETTRE_VOIT_TEMP where NOT EXISTS
(
select * from LETTRE_VOIT_FINAL lv
where lv.NOID = LETTRE_VOIT_TEMP.NOID AND
lv.CODE_DEST = LETTRE_VOIT_TEMP.CODE_DEST AND
lv.CODE_CLIENT = LETTRE_VOIT_TEMP.CODE_CLIENT AND
lv.DATE_CLOTURE = LETTRE_VOIT_TEMP.DATE_CLOTURE AND
lv.DATE_CLOTUR_REEL = LETTRE_VOIT_TEMP.DATE_CLOTUR_REEL
)
これはうまくいきますが、条件を追加したいと思います:
- データの場合、
LETTRE_VOIT_TEMP.DATE_CLOTURE is null
比較したくありません。 - データの場合、
LETTRE_VOIT_TEMP.DATE_CLOTUR_REEL is null
比較したくない
私はこのように変更しました:
select * from LETTRE_VOIT_TEMP where NOT EXISTS
(
select * from LETTRE_VOIT_FINAL lv
where lv.NOID = LETTRE_VOIT_TEMP.NOID AND
lv.CODE_DEST = LETTRE_VOIT_TEMP.CODE_DEST AND
lv.CODE_CLIENT = LETTRE_VOIT_TEMP.CODE_CLIENT AND
case LETTRE_VOIT_TEMP.DATE_CLOTURE
when is not null then lv.DATE_CLOTURE = LETTRE_VOIT_TEMP.DATE_CLOTURE AND
end
case LETTRE_VOIT_TEMP.DATE_CLOTUR_REEL
when is not null then lv.DATE_CLOTUR_REEL = LETTRE_VOIT_TEMP.DATE_CLOTUR_REEL
end
)
構文エラーが発生します。