如何解决SQL一对多关系
我正在尝试找出仅列出一对多关系的SQL查询
下面的表包含11条记录,其中我想返回Field1 = 7(一对多)的两行
表1:
Field1 Field2
1 a
2 a
3 b
4 b
5 c
4 d exclude 4 and 6 as d is linked to both
6 d
6 e
7 f One to Many
7 j One to Many
8 g
解决方法
您希望所有field2
的所有field1
值都出现一次。这是使用窗口函数的方法:
select field1
from (select t.*,count(*) over (partition by field2) as num_field2
from t
) t
group by field1
having count(*) > 1 and max(num_field2) = 1;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。