笛卡尔集中消除重复的。

PCCYC 2016-01-07 09:38:32
两个表联合查询后得到数据如下
联合后出现
1,1
1,2
1,3
2,1
2,2
2,3
3,1
3,2
3,3

如1,2和2,1本质是一样的,有无办法在查询时剔除这样的类似重复:
得到这个样子,谢谢。
1,2
1,3
2,3

...全文
239 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
PCCYC 2016-01-08
  • 打赏
  • 举报
回复
引用 6 楼 wmxcn2000 的回复:
在 excel 进行拼接就,拼接完了,拷到sql 窗口,再简单的加工一下,就可以了。
非常感谢,但是昨天看到一个多字段的,excel不能自动识别空格分列,比较郁闷。
卖水果的net 2016-01-08
  • 打赏
  • 举报
回复
在 excel 进行拼接就,拼接完了,拷到sql 窗口,再简单的加工一下,就可以了。
PCCYC 2016-01-08
  • 打赏
  • 举报
回复
引用 1 楼 wmxcn2000 的回复:


SQL> with m as (
  2      select 1 a,1 b from dual union all
  3      select 1,2  from dual union all
  4      select 1,3 from dual union all
  5      select 2,1 from dual union all
  6      select 2,2 from dual union all
  7      select 2,3 from dual union all
  8      select 3,1 from dual union all
  9      select 3,2 from dual union all
 10      select 3,3 from dual
 11  )
 12  select distinct least(a,b) a,greatest(a,b) b
 13    from m
 14   where a <> b
 15   order by 1,2;
         A          B
---------- ----------
         1          2
         1          3
         2          3

SQL> 
版主大大好,最后想问一下,如何将别人的表格模版数据,快速转换成添加你这种select 格式用来测试? 有什么好工具做这个事情没?谢谢
陈灬风 2016-01-07
  • 打赏
  • 举报
回复
看下执行计划不就知道了,应该是2楼的更优
PCCYC 2016-01-07
  • 打赏
  • 举报
回复
引用 1 楼 wmxcn2000 的回复:


SQL> with m as (
  2      select 1 a,1 b from dual union all
  3      select 1,2  from dual union all
  4      select 1,3 from dual union all
  5      select 2,1 from dual union all
  6      select 2,2 from dual union all
  7      select 2,3 from dual union all
  8      select 3,1 from dual union all
  9      select 3,2 from dual union all
 10      select 3,3 from dual
 11  )
 12  select distinct least(a,b) a,greatest(a,b) b
 13    from m
 14   where a <> b
 15   order by 1,2;
         A          B
---------- ----------
         1          2
         1          3
         2          3

SQL> 
谢谢,请问哪种开销更小。
PCCYC 2016-01-07
  • 打赏
  • 举报
回复
我改成这样也可以实现效果select a1.role_id||','||a2.id from role a1,(select role_id id from role )a2 where a1.role_id< a2.id ; A1.ROLE_ID||','||A2.ID 请问大大哪个开销更小?谢谢。
卖水果的net 2016-01-07
  • 打赏
  • 举报
回复


SQL> with m as (
  2      select 1 a,1 b from dual union all
  3      select 1,2  from dual union all
  4      select 1,3 from dual union all
  5      select 2,1 from dual union all
  6      select 2,2 from dual union all
  7      select 2,3 from dual union all
  8      select 3,1 from dual union all
  9      select 3,2 from dual union all
 10      select 3,3 from dual
 11  )
 12  select distinct least(a,b) a,greatest(a,b) b
 13    from m
 14   where a <> b
 15   order by 1,2;
         A          B
---------- ----------
         1          2
         1          3
         2          3

SQL> 

17,377

社区成员

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

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