oracle的自连接如何去除重复的数据呢?

selectAA.fhid,BB.fhid,AA.zhid,BB.zhidfrom(selecta.fhid,b.zhid,a.dyfromt_gg_fwxxfha,t_... select AA.fhid,BB.fhid,AA.zhid,BB.zhid
from (select a.fhid ,b.zhid,a.dy
from t_gg_fwxxfh a,t_gg_fwxxz b,t_mpb c
where b.zhid =a.zhid and c.mpid =b.mpid ) AA,
(select a.fhid ,b.zhid,a.dy
from t_gg_fwxxfh a,t_gg_fwxxz b,t_mpb c
where b.zhid =a.zhid and c.mpid =b.mpid ) BB
where AA.fhid != BB.fhid and AA.zhid=BB.zhid and AA.dy=BB.dy
结果会出现:AA.fhid BB.fhid AA.zhid BB.zhid
11 22 33 33
22 11 33 33
(会出现上边两条重复的数据)
请问应该怎样把这两条的一条给去掉?
展开
 我来答
badkano
推荐于2016-05-04 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885373
团长

向TA提问 私信TA
展开全部
select
case when AA.fhid>BB.fhid then AA.fhid else BB.fhid end,
case when BB.fhid>AA.fhid then BB.fhid else AA.fhid end,
AA.zhid,
BB.zhid
from (select a.fhid ,b.zhid,a.dy
from t_gg_fwxxfh a,t_gg_fwxxz b,t_mpb c
where b.zhid =a.zhid and c.mpid =b.mpid ) AA,
(select a.fhid ,b.zhid,a.dy
from t_gg_fwxxfh a,t_gg_fwxxz b,t_mpb c
where b.zhid =a.zhid and c.mpid =b.mpid ) BB
where AA.fhid != BB.fhid and AA.zhid=BB.zhid and AA.dy=BB.dy
group by
case when AA.fhid>BB.fhid then AA.fhid else BB.fhid end,
case when BB.fhid>AA.fhid then BB.fhid else AA.fhid end,
AA.zhid,
BB.zhid

仅限于当前两条数据使用,数据多了会导致前俩字段互换位置

nweibd
2015-10-23 · TA获得超过394个赞
知道小有建树答主
回答量:533
采纳率:54%
帮助的人:185万
展开全部
select子句中使用distinct关键字
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shizhiyong06
2013-04-11 · TA获得超过964个赞
知道小有建树答主
回答量:488
采纳率:50%
帮助的人:267万
展开全部
用 distinct

select distinct AA.fhid,BB.fhid,AA.zhid,BB.zhid...即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0319a0e
2015-09-17 · TA获得超过2.2万个赞
知道小有建树答主
回答量:2080
采纳率:85%
帮助的人:1156万
展开全部
select distinct * from tb_name a
where exists (select 1 from tb_name b where b.name=a.name)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
flamingcy
2013-04-12 · 超过21用户采纳过TA的回答
知道答主
回答量:71
采纳率:0%
帮助的人:62.2万
展开全部
后面加上一个and a.rowid>b.rowid
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式