钓鱼吧 关注:2,818,110贴子:46,821,923
  • 48回复贴,共1

听说大佬们什么都会 请教个 oracle sql 问题

只看楼主收藏回复

如图,如果我就想在一段sql里处理这种关联关系有什么写法能实现吗


IP属地:重庆来自Android客户端1楼2024-01-19 13:09回复
    这玩意取出来,在内存中处理就行,这样不把数据库搞死


    IP属地:山东2楼2024-01-19 13:32
    收起回复


      IP属地:山东3楼2024-01-19 13:53
      收起回复
        union all 或者子查询关联


        IP属地:浙江来自iPhone客户端5楼2024-01-19 14:11
        收起回复
          为什么要一次查呢 is null 查一次用(+) is not null再查一下用= union all起来


          IP属地:浙江6楼2024-01-19 14:14
          收起回复
            钓鱼佬果然除了钓鱼什么都会


            IP属地:贵州来自Android客户端7楼2024-01-19 15:09
            回复
              我觉得什么csdn都可以关了,以后有问题来这里问,妥妥的,要是解决了问题分享一下钓点,送个漂或者子线什么的美滋滋


              IP属地:四川10楼2024-01-19 16:26
              收起回复
                原数据库先不要动,
                处理好再写入,


                IP属地:浙江11楼2024-01-19 17:00
                收起回复
                  🌿,钓鱼佬果然都是人才


                  IP属地:上海来自Android客户端12楼2024-01-19 22:49
                  收起回复
                    select *
                    from t1
                    left join t2 on nvl2(c_from, t2.c_id, t2.c_std) = t1.c_code


                    IP属地:湖南14楼2024-01-23 13:57
                    收起回复
                      楼上说的对。用nvl判断就行了。不过楼主用了笛卡尔积,用left join 可能少数据了。
                      没用过在where 里用case when,看起来好奇怪,也没见过。
                      如果where 条件复杂 。不如两个查询union all


                      IP属地:江苏15楼2024-01-23 17:15
                      回复
                        where 过滤里写case when?case关键字用错地方了。
                        where 后的过滤条件是读数据时的过滤,哪些读取后返回并显示哪些不返回。
                        想要把返回结果根据不同条件显示,在select 后 from前写case when,注意显示的含义,是全部读取出来,根据不同的读取结果,按特定的条件分别显示。
                        交集、并集、差集在查询前候理逻辑一下再写SQL。


                        IP属地:上海16楼2024-01-24 09:43
                        收起回复
                          这个楼的回复比其他鱼获楼都多


                          IP属地:广东来自Android客户端17楼2024-01-26 08:44
                          回复