ORACLE复杂查询问题

三味书屋 2014-11-21 02:13:29
数据如下
A表

列1 列2 列3

1 2 3

2 3 4

期望结果
select * from table where (列1=1 and 列2 = 2 and 列3=3)or (列1=2 and 列2 = 3 and 列3=4)

请问除了用代码拼接成这样,还有sql可以拼接吗。
...全文
335 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
bw555 2014-11-21
  • 打赏
  • 举报
回复
使用or很容易不走索引,而union all的方式会走索引的

select * from table where (列1=1  and 列2 = 2 and 列3=3)
union all
select * from table where  (列1=2  and 列2 = 3 and 列3=4)
三味书屋 2014-11-21
  • 打赏
  • 举报
回复
引用 1 楼 bw555 的回复:
使用union all 进行拼接
不行哦,union all 是把两个表数据合并起来,我要的是根据条件过滤
bw555 2014-11-21
  • 打赏
  • 举报
回复
使用union all 进行拼接

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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