Oracle 数据库查询问题求解答

a136838143 2018-02-01 10:08:30
最近遇到一个问题,求解答


大家看上图,这是我的查询语句,语句代码没有整理,凑合着看吧,我现在是子查询和一个外查询,子查询中可以查到数据,也就是 number1 的值是可以查询出来的,但是按照如图所示的查询,查到的值是什么都没有的,我也看了一下外查询的结果,外查询的确是没有结果存在的,现在我想实现的是,子查询的值可以显示出来,也就是 number1 为子查询所查询的数据,另外一个列的值以0代替,请问这个该怎么实现呢?
...全文
348 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
比如你的子查询 看着表a,把不要子查询的部分看着表b 然后 a left join b on 关联字段就可以了
  • 打赏
  • 举报
回复
引用 6 楼 a136838143 的回复:
[quote=引用 4 楼 baidu_36457652 的回复:] 我看明白了,你子查询是2月1日之前的,外面where是 0点到9点的,就是说你 0点到9点没得数据
对的,就是这个意思,我子查询需要查询2.1号之前的,可是外部查询需要查询2.1号00:00 分到9点的数据,可是外部查询是没有数据的,子查询是有数据的,那如何显示出子查询的数据,但是外查询的数据以0代替[/quote] 你这个不能用子查询,用表连接的方式才行。
a136838143 2018-02-01
  • 打赏
  • 举报
回复
引用 4 楼 baidu_36457652 的回复:
我看明白了,你子查询是2月1日之前的,外面where是 0点到9点的,就是说你 0点到9点没得数据
对的,就是这个意思,我子查询需要查询2.1号之前的,可是外部查询需要查询2.1号00:00 分到9点的数据,可是外部查询是没有数据的,子查询是有数据的,那如何显示出子查询的数据,但是外查询的数据以0代替
a136838143 2018-02-01
  • 打赏
  • 举报
回复
引用 7 楼 baidu_36457652 的回复:
[quote=引用 6 楼 a136838143 的回复:] [quote=引用 4 楼 baidu_36457652 的回复:] 我看明白了,你子查询是2月1日之前的,外面where是 0点到9点的,就是说你 0点到9点没得数据
对的,就是这个意思,我子查询需要查询2.1号之前的,可是外部查询需要查询2.1号00:00 分到9点的数据,可是外部查询是没有数据的,子查询是有数据的,那如何显示出子查询的数据,但是外查询的数据以0代替[/quote] 你这个不能用子查询,用表连接的方式才行。[/quote] 那表连接的话,不同条件改怎么写呢
a136838143 2018-02-01
  • 打赏
  • 举报
回复
引用 3 楼 baidu_36457652 的回复:
子查询有值,总体没值,是你最后面的where条件导致的
对的,是这个问题,但是如何解决呢,我必须显示出子查询的值,但是最后面的 where 条件必须存在,因为对第一个查询进行过滤的,该怎么实现子查询的值照样显示,但是另外一个查不出来的值以0代替
  • 打赏
  • 举报
回复
我看明白了,你子查询是2月1日之前的,外面where是 0点到9点的,就是说你 0点到9点没得数据
  • 打赏
  • 举报
回复
子查询有值,总体没值,是你最后面的where条件导致的
a136838143 2018-02-01
  • 打赏
  • 举报
回复
引用 1 楼 liuzhijian2008x 的回复:
用左连接,右连接
可是条件不同呀,子查询是查询之前日期的记录,而外查询是查询指定范围内的记录
liu志坚 2018-02-01
  • 打赏
  • 举报
回复
用左连接,右连接

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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