表A數據
(1,'A','張三','add')
(1,'B','張三','del')
(2,'A','李四','add')
(3,'B','王五','update')
表C數據
(A)
(B)
(C)
怎麼判斷每個人缺少的no並且把缺少的新增進表A ???
如張三缺少C,則新增(1,'B','張三','add')、(1,'C','張三','add');
李四缺少B、C,則新增(2,'B','李四','add')(2,'C','李四','add');
王五缺少A、C,則新增(3,'A','王五','add')(3,'C','王五','add');
以此類推、、、
以前發你的SQL,把中文的替換成你的字段,關鍵是 not in的時候加一個where就行。del的記錄就當沒有就行了。
insert into ma(id,fe,vname,狀態字段) values(
SELECT id,vname,fe,'add' FROM (
select c.*,c.vname + ','+c.fe as kid from (
select * from
(
select distinct id,vname from ma
) a,
(select fe from mb)
b
) c
) D
where kid not in(SELECT VNAME+','+FE FROM ma where 狀態字段<>'del')
)