从数据说起:数据库 Join里面用uid和sid记录了社团的成员信息,表Apply里面用uid和sid记录了申请加入社团的信息,status=1表示申请成功。
问题是 因为程序逻辑问题,导致部分Apply成功的用户没有加入到Join表里面,出现了两个数据的不一致。
首先是想直接用数据库解决,大概写几个SQL语句就可以了吧。
来看看SQL能做什么:1、得到所有申请成功的人;2、得到所有申请成功并且加入了社团的人。
问题是怎么求这两类人的差集呢,而且是pair的,需要uid和sid同时限制。感觉SQL做这个事情不容易,于是把这两组数据导出来了。如果直接用SHELL处理,不知道怎么弄,而且也有些忘了SHELL。好在最近在写Python,拿来就用呗,百度了下文件打开和写入,语法本身还是挺熟悉的啦,所以很快就求出来了差集,构造出SQL插入语句,解决\(^o^)/~