免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1882 | 回复: 3
打印 上一主题 下一主题

求关系数据库算法问题! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-20 00:29 |只看该作者 |倒序浏览
有一个表,有两个字段,都是 int 类型!
如:
id1    id2
1      2
2      1
2      3
3      2
4      1
5      1
6      1
7      1
2      8
2      9
2      10
2      11
3      4
3      5
3      6
4      3
5      3
我现在要的答案就是:
id1 即对应 id2,反过来 id2 又必须对应 id1 的记录数!

id1    id2
1      2
2      1
这样算是 1 对关系,记做 1;
现在想找出所有这样关系对,求解 ?

论坛徽章:
1
白银圣斗士
日期:2015-11-23 08:33:04
2 [报告]
发表于 2009-03-20 08:46 |只看该作者
id1 即对应 id2
这里没有看明白,是说保留现在对应的值?

论坛徽章:
0
3 [报告]
发表于 2009-03-20 12:09 |只看该作者
SELECT id1,id2 FROM id T1 WHERE id1 = (SELECT T2.id2 FROM id T2 WHERE T1.id1=T2.id2 and T1.id2=T2.id1);

不知道这样满足条件不,
查询出来的结果是这样的:
id1    id2
1      2
2      1
2      3
3      2
3      4
3      5
4      3
5      3
把查询出来的行数除以2就可以了。

评分

参与人数 1可用积分 +3 收起 理由
枫影谁用了 + 3 精品文章

查看全部评分

论坛徽章:
0
4 [报告]
发表于 2009-03-20 12:20 |只看该作者
SELECT id1,id2 FROM id T1 WHERE id1 = (SELECT T2.id2 FROM id T2 WHERE T1.id1=T2.id2 and T1.id2=T2.id1);

不知道这样满足条件不,
查询出来的结果是这样的:
id1    id2
1      2
2      1
2      3
3      2
3      4
3      5
4      3
5      3


这个结果正确!
我还没来得及和枫影详细说呢,呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP