求帮助,看看这个sql怎么写?

u010580980 2015-08-17 03:45:25


大家看看连个vc_fundcode 有A对B,B对A两种情况,现在我想去掉其中之一,只留A对B。

这个sql 我该怎么写?

感谢!

select f.vc_fundcode, i.vc_fundcode, f.vc_fundname, i.vc_fundname
from d_fund_info f, d_fund_info i
where f.vc_fundcode != i.vc_fundcode
and f.vc_fundcode in ('3F1033', '3F1025','3F1A15')
and i.vc_fundcode in ('3F1033', '3F1025','3F1A15')
...全文
148 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
陈灬风 2015-08-17
  • 打赏
  • 举报
回复
select * from (select f.vc_fundcode , i.vc_fundcode , f.vc_fundname, i.vc_fundname,row_number() over(partition by f.vc_fundcode,i.vc_fundcode order by f.vc_fundname desc) rn from d_fund_info f, d_fund_info i where f.vc_fundcode != i.vc_fundcode and f.vc_fundcode in ('3F1033', '3F1025','3F1A15') and i.vc_fundcode in ('3F1033', '3F1025','3F1A15') ) t where t.rn=1;
u010580980 2015-08-17
  • 打赏
  • 举报
回复
可以,思路真清晰!!!
mayanzs 2015-08-17
  • 打赏
  • 举报
回复
把条件中的不等于改成小于 (也可以 是大于,看你需要)

select f.vc_fundcode, i.vc_fundcode, f.vc_fundname, i.vc_fundname
  from d_fund_info f, d_fund_info i
 where f.vc_fundcode < i.vc_fundcode
   and f.vc_fundcode in ('3F1033', '3F1025','3F1A15')
   and i.vc_fundcode in ('3F1033', '3F1025','3F1A15')

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧