我是一名新的oracle开发人员,我不知道如何做到这一点: 所以我需要在oracle中创建一个减少返回数据量的查询 我所拥有的是同一目的的2条记录
在我的第一张唱片中
id1 = A and id2 = B
在第二个我有
id1 = B and id2 = A
所以我需要一个查询,只返回一条记录,保存在数据库中的每2条记录都有这个组合。
我尝试做内部选择或尝试从同一个表中读取两次并过滤结果但没有成功。
答案 0 :(得分:0)
如果没有关于表结构或生成两个记录结果集的查询的详细信息,我可以提供以下查询:
SELECT LEAST(id1, id2) AS id1,
GREATEST(id1, id2) AS id2
FROM yourTable
GROUP BY LEAST(id1, id2),
GREATEST(id1, id2)
答案 1 :(得分:0)
如果我理解您的需要,您可以尝试以下方法:
with test(id1, id2) as (
select 1, 2 from dual union all
select 2, 1 from dual
)
select least(id1, id2), greatest(id1, id2)
from test
group by least(id1, id2), greatest(id1, id2)