好的,我继承了一个真正混乱的数据库,并负责清理它。
问题是这个......我必须比较2个表。 table1
(成员)和table2
(关联)并查找不再具有关联的成员的所有实例,以及关联不再指向成员的所有实例
关联表table2
有一个名为mbr_id
的字段,您可以将其链接到id
中成员的table1
字段。
我假设我需要某种while循环...但我不知道如何形成查询。有点像...
SELECT * FROM `members2`, `assocs` WHERE `assocs.mbr_id` != `members2.id`
是吗?不能......对吗?
答案 0 :(得分:1)
那不对是正确的。试试这两个问题:
select m.*
from members m
where not exists (select 1 from assocs a where a.mbr_id = m.id);
和
select a.*
from assocs a
where not exists (select 1 from members m where a.mbr_id = m.id);
第一个是没有有效关联的成员。第二个是没有有效成员的协会。