我正在使用 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
)
我收到语法错误。