我想在下面语句前面加一个判断,如果表dffwz中已存在“dfgzlr中月份”的记录则不执行下面语句否则执行不知应如何写?请各位老师指教
insert into dffwz(年份,月份,bmid)
select  distinct 年份,月份,left(bmid,6) bmid from dfgzlr where Len(bmid)=6;--生成服务站月结

解决方案 »

  1.   

    begin
    if not exists(select 1 from dffwz where ...)
    insert into dffwz(年份,月份,bmid)
    select distinct 年份,月份,left(bmid,6) bmid from dfgzlr where Len(bmid)=6;--生成服务站月结
    else
    rollback
    end
      

  2.   


    insert into dffwz(年份,月份,bmid)
    select distinct 年份,月份,left(bmid,6) bmid from dfgzlr AS T where Len(bmid)=6 AND 月份 NOT IN (SELECT 月份 FROM dffwz WHERE T.年份 = 年份)
      

  3.   

    insert into dffwz(年份,月份,bmid)
    select distinct 年份,月份,left(bmid,6) bmid from dfgzlr 
    where Len(bmid)=6 and not exists( select * from dffwz t1 where dfgzlr.月份=t1.月份)