分享到:
发表于 2008-12-31 10:16:25 楼主 | |
我有两个表:table_a, table_b table_a 里面的字段: a1,a2,a3,a4,a5,a6 一共有2000左右的记录 table_b 里面的字段: b1,b2,b3,b4,b5,b6 一共有1000左右的记录 现在我需要把两个表进行对比,对比后形成一个表,合并规则是: 将table_a里面的记录与table_b的记录做比较,当比较的结果满足下面的假设时,删除table_a对应的记录: 条件1:a1+b1=2 或者 a1+b1=15 或者 a1+b1=9 或者 a1+b1=8 条件2:a2+b2=2 或者 a2+b2=15 或者 a2+b2=9 或者 a2+b2=8 条件3:a3+b3=2 或者 a3+b3=15 或者 a3+b3=9 或者 a3+b3=8 条件4:a4+b4=2 或者 a4+b4=15 或者 a4+b4=9 或者 a4+b4=8 条件5:a5+b5=2 或者 a5+b5=15 或者 a5+b5=9 或者 a5+b5=8 条件6:a6+b6=2 或者 a6+b6=15 或者 a6+b6=9 或者 a6+b6=8 如果table_a里面某一条记录同时满足以上6个条件的时候(是6个条件同时满足),删除该记录,最终返回table_a剩余的记录(这个剩余的记录也就是所需要的表格)。 一个比方: table_a: a1 a2 a3 a4 a5 a6 1 7 3 4 2 6 4 8 8 9 1 2 3 2 1 4 6 1 table_b: b1 b2 b3 b4 b5 b6 1 8 6 4 7 9 4 7 7 6 1 6 最终应该返回的表为: a1 a2 a3 a4 a5 a6 3 2 1 4 6 1 上面不知道描述的清楚不清楚了,呵呵,多谢高手! |
|
楼主热贴 |
发表于 2008-12-31 10:16:25 1楼 | |
不知道LZ要的是不是 Select * From Table_a a Where Not Exists(Select * From Table_b Where (a.a1 + b.b1) In(2, 15, 9, 8) And (a.a2 + b.b2) In(2, 15, 9, 8) And ......) |
|
发表于 2011-04-29 16:11:50 2楼 | |
只顶不说话!! | |
针对ZOL星空(中国)您有任何使用问题和建议 您可以 联系星空(中国)管理员 、 查看帮助 或 给我提意见