oracle 一张表有两个字段,a和b,字段值a=b和b=a,算作一条,怎么操作?
3个回答
展开全部
select data_info,
business_a,
business_b
from (select a.data_info,
a.business_a,
a.business_b,
row_number() over(order by a.business_a) rk -- 按某一字段升序(降序也行)排列
from 表名 a, -- 表自身做关联
表名 b
where a.business_a = b.business_b -- 两字段互相等
and a.business_b = b.business_a
)
where rk = 1 -- 取其中一条即可
business_a,
business_b
from (select a.data_info,
a.business_a,
a.business_b,
row_number() over(order by a.business_a) rk -- 按某一字段升序(降序也行)排列
from 表名 a, -- 表自身做关联
表名 b
where a.business_a = b.business_b -- 两字段互相等
and a.business_b = b.business_a
)
where rk = 1 -- 取其中一条即可
追问
这个我自己也写了,不行,因为表里不止两条数据,截图只是任意两条而已,如:
a
ba
ca
da
eb
ac
ad
ae
a
只算四条
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select date_info,business_a,business_b from 表名
union
select date_info,business_b,business_a from 表名
注意,union 前后两句a,b字段的位置
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
算作一条的话 你要显示第一条 还是 第二条?
更多追问追答
追问
只显示一条,随便一条就行
采用union,试了,不行
追答
把union 换成 minus
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询