SQL ----update 多连接 通过订单--是否是新品

订单中是新品还是不是新品

select isnull((SELECT CASE WHEN COUNT(IBB003)>1 THEN '否' else '是' END FROM DCSIBB A WHERE A.IBB003=DCSIBB.IBB003 and A.IBB001<>DCSIBB.IBB001 GROUP BY A.IBB003),'是')
FROM DCSIBB
where IBB001 in ('SH201901220007')

----订单中是新品还是不是新品----------------------------------
select IBB003,CASE isnull((SELECT COUNT(IBB003) FROM DCSIBB A WHERE A.IBB003=DCSIBB.IBB003 and A.IBB001<>DCSIBB.IBB001 GROUP BY A.IBB003),0) WHEN 0 THEN '是' else '否' END 
FROM DCSIBB
where IBB001  in ('SH201901220007')

select * from DCSIBB where IBB001  in ('SH201901220007')

ALTER TABLE DCSIBB ENABLE TRIGGER TRIG_DCSIBB

update dbo.DCSIBB  
set IBB904=convert( varchar , getdate() , 121 )  , IBB961=CASE isnull((SELECT COUNT(A.IBB003) FROM DCSIBB A WHERE A.IBB003=O.IBB003 and A.IBB001<>O.IBB001 GROUP BY A.IBB003),0) WHEN 0 THEN '是' else '否' END

from  dbo.DCSIBB O join INSERTED I on (O.IBB001=I.IBB001) and (O.IBB002=I.IBB002)    
------------------------------------------------------------------------------------------------------

update DCSIBB

 set IBB961=isnull((SELECT CASE WHEN COUNT(IBB003)>1 THEN '否' else '是' END FROM DCSIBB A WHERE A.IBB003=DCSIBB.IBB003 and A.IBB001<>DCSIBB.IBB001 GROUP BY A.IBB003),'是')
FROM DCSIBB
where IBB001+IBB002+IBB003 in (select IBB001+IBB002+IBB003 from INSERTED)

----------------------


CREATE trigger TRIG_DCSIBB on dbo.DCSIBB for


 update,insert as update dbo.DCSIBB  set IBB904=convert( varchar , getdate() , 121 )
from  dbo.DCSIBB O join INSERTED I on (O.IBB001=I.IBB001) and (O.IBB002=I.IBB002)    

 --, IBB961=CASE isnull((SELECT COUNT(A.IBB003) FROM DCSIBB A WHERE A.IBB003=O.IBB003 and A.IBB001<>O.IBB001 GROUP BY A.IBB003),0) WHEN 0 THEN '是' else '否' END
update DCSIBB set IBB961=isnull((SELECT CASE WHEN COUNT(IBB003)>1 THEN '否' else '是' END FROM DCSIBB A WHERE A.IBB003=DCSIBB.IBB003 and A.IBB001<>DCSIBB.IBB001 GROUP BY A.IBB003),'是')
FROM DCSIBB
where IBB001+IBB002+IBB003 in (select IBB001+IBB002+IBB003 from INSERTED)
 

猜你喜欢

转载自blog.csdn.net/fu_manxing/article/details/86603972