假如我么有两个表
表A 有1 2 3 4 表B 1 3
表B的 1 和 3 是已经结账了的,那么如果我再一次结账其中的2 和 4 我要如何排除掉1 和 3 啊!!
你应该在表a中增加字段,表示已结账。
结账(){
select 表a where state=未结账 and 其他条件。
//如果量大,要性能就转成批处理。
.each(record=>{
if count(1) from 表b where id=record >=1
reutrn;//已重复处理,跳过
insert 表b,
update 表a set state=已接招 where id=record=id
})
}
select * from A left join B on A.X = B.X where A.X is null
结果是2和4:
select * from A where A.id in(select id from B)