有两个表:
- 人民表(m_id,m_name);
- 链接表 (m_id, f_id),其中两个字段都从第一个表链接到 m_id
我需要一个 Oracle 数据库查询,如果每个人与每个人的链接不超过:
- 通过 3 个朋友
- 通过 N 个朋友
- 否则打印“不可能”
如果可能,请帮助我完成这项任务,或者至少告诉我在哪里寻找答案,我的意思是我之前必须阅读的内容,以及解决这项任务所必需的内容。
我不确定我的问题是否正确,但我想你需要这样的东西。
select p.m_id,count(l.f_id),'Possible' col
from people p,
links l
where p.m_id = l.m_id
group by p.m_id
having count(l.f_id) >= 3
union
select p.m_id,count(l.f_id),'Impossible' col
from people p,
links l
where p.m_id = l.m_id
group by p.m_id
having count(l.f_id) < 3