【发布时间】:2015-06-17 08:47:23
【问题描述】:
我的选择查询卡在某个点上。我需要从“患者”表中找到一个与其他患者手机号码匹配的手机号码(如果有任何意义的话)。
目前我从患者表中获得了这个插入值:
insert into patient
values(1022010201, 88.2, 77, 0676762516);
insert into patient
values(1022010202, 66.7, 55, 0676762518);
insert into patient
values(1022010203, 59.6, 65, 0676762517);
insert into patient
values(1022010204, 99.1, 76, 0676762515);
insert into patient
values(1022010205, 88.2, 89, 0676762514);
insert into patient
values(1022010207, 91.4, 76, 0676762513);
insert into patient
values(182704726, 54.4, 44, 0676762516);
第一个和最后一个电话号码相同。通过我的“自加入”查询,我没有得到那个值,但我也得到了其他值。
从某种意义上说,这是有道理的,因为我的查询将表患者与它自身联系起来。因此,以这种方式,选择查询确实找到了匹配对的数字。
所以在这一点上,我被困在如何只获得真正匹配的电话号码而不是所有其他号码。
this is my select query at the moment:
select p1.telefoonnr, p2.telefoonnr
from patient p1, patient p2
where p1.telefoonnr = p2.telefoonnr;
这是结果:
TELEFOONNR TELEFOONNR
-------------------- --------------------
676762516 676762516
676762518 676762518
676762517 676762517
676762515 676762515
676762514 676762514
676762513 676762513
06-12345678 06-12345678
7 rows selected
任何帮助都会很棒。
提前致谢
【问题讨论】:
标签: sql join oracle11g self-join