以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  这名sql语句还能否简写  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=127552)

--  作者:happyft
--  发布时间:2018/11/16 14:29:00
--  这名sql语句还能否简写
如下:
INSERT INTO MPS生产需求( 产品编码 , 需求日期 )
        SELECT  b.产品编码 , b.需求日期
        FROM    生产单 b
        WHERE   b.sys_Over = 0
                AND EXISTS ( SELECT *  FROM   MPS生产需求  WHERE  产品编码 = b.产品编码 )
                AND NOT EXISTS ( SELECT *  FROM   MPS生产需求 WHERE  产品编码 = b.产品编码 AND 需求日期 = b.需求日期 ) 

上面语句就是实现 将生产单中产品编码已经存在MPS物料需求表中,但是需求日期还不存在MPS物料需求表中的产品插入,功能是可以了但是
感觉实现有点复杂 ,如果不要红色的判断的话,MPS物料需求表中不存在的产品编码也会新增进去,  

条件其实就是  产品编码要存存在原来表中,但需求日期不存在的才将产品编码及需求日期一并插入,

还有没有更简单的写法?

谢谢!

--  作者:有点甜
--  发布时间:2018/11/16 14:40:00
--  

 

不可以简写