我有一张有两个外键的桌子:
exp_fk | bd_fk (nullable) |
---|---|
exp_id1 | bd_id1 |
exp_id2 | bd_id2 |
exp_id1 | bd_id2 |
exp_id2 | bd_id2 |
此表没有唯一性约束.
我希望能够查询有多少个exp_id具有超过1个bd_fk.因此,在上表中,我应该返回计数1,因为exp_id1具有两个唯一的bd_id(bd_id1、bd_id2),而不是具有相同bd_fk的exp_id2.
我试过:
select exp_fk, bd_fk, count(*) from table
where bd_fk is not null
group by exp_fk, bd_fk
having count(*) > 1;
问题是,HAVING不是在寻找唯一的BD_FK.