有没有大哥帮我关联一下这两个sql万分感谢,可以向日葵远程

1636688746(1).jpg1.select 

       '${tjny}'期间,

       日期,

       公司简称,

       col_name 会计名称, 

       年初余额,

       同期余额,

       期末余额

                       

  from fr_iufo_zcfzb 

 where 日期 = to_char(last_day(to_date('${tjny}','yyyy-mm')),'yyyy-mm-dd')

 and  col_name is not null

 ${if(len(gs)<=2,""," and 公司简称 in ("+gs+")")}

   group by  日期,公司简称,col_name, 年初余额,同期余额,期末余额

2.select 

       '${tjny}'期间,

         

       公司简称,

       col_name 会计名称, 

       期末余额  前年期末    

        

  from fr_iufo_zcfzb

 where 日期 =to_char(last_day(add_months(to_date('${tjny}','yyyy-mm'),-1*24)),'yyyy-mm-dd')

 and  col_name is not null

 ${if(len(gs)<=2,""," and 公司简称 in ("+gs+")")} 

 group by  公司简称,col_name, 年初余额,同期余额,期末余额

小贤 发布于 2021-11-12 10:44 (编辑于 2021-11-12 11:59)
1min目标场景问卷 立即参与
回答问题
悬赏:10 F币 4人赏过 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
1
shojintoLv4见习互助
发布于2021-11-12 13:01

image.png

最佳回答
3
yzm119464Lv3初级互助
发布于2021-11-12 11:24(编辑于 2021-11-12 13:35)

select a.期间,

       a.日期,

       a.公司简称,

       a.会计名称,

       a.年初余额,

       a.同期余额,

       a.期末余额,

       b.前年期末 as 前年期末余额

  from (select

        

         '${tjny}' 期间,

         

         日期,

         

         公司简称,

         

         col_name 会计名称,

         

         年初余额,

         

         同期余额,

         

         期末余额

        

          from fr_iufo_zcfzb

        

         where 日期 =

               to_char(last_day(to_date('${tjny}', 'yyyy-mm')), 'yyyy-mm-dd')

              

           and col_name is not null

        

         ${if(len(gs) <= 2, "", " and 公司简称 in (" + gs + ")") }

        

         group by 日期, 公司简称, col_name, 年初余额, 同期余额, 期末余额) a

  full join (select

             

              '${tjny}' 期间,

              

              公司简称,

              

              col_name 会计名称,

              

              期末余额 前年期末

             

               from fr_iufo_zcfzb

             

              where 日期 =

                    to_char(last_day(add_months(to_date('${tjny}', 'yyyy-mm'),

                                                -1 * 24)),

                            'yyyy-mm-dd')

                   

                and col_name is not null

             

              ${if(len(gs) <= 2, "", " and 公司简称 in (" + gs + ")") }

             

              group by 公司简称, col_name, 年初余额, 同期余额, 期末余额) b

    on a.期间 = b.期间

   and a.公司简称 = b.公司简称

   and a.会计名称 = b.会计名称

最佳回答
0
尛鬼Lv5中级互助
发布于2021-11-12 10:47(编辑于 2021-11-12 10:48)

1.select 

       '${tjny}'期间,

       日期,

       公司简称,

       col_name 会计名称, 

       年初余额,

       同期余额,

       期末余额

                       

  into #a1 from fr_iufo_zcfzb 

 where 日期 = to_char(last_day(to_date('${tjny}','yyyy-mm')),'yyyy-mm-dd')

 and  col_name is not null

 ${if(len(gs)<=2,""," and 公司简称 in ("+gs+")")}

   group by  日期,公司简称,col_name, 年初余额,同期余额,期末余额

2.select 

       '${tjny}'期间,

         

       公司简称,

       col_name 会计名称, 

       期末余额  前年期末    

        

 into #a2 from fr_iufo_zcfzb

 where 日期 =to_char(last_day(add_months(to_date('${tjny}','yyyy-mm'),-1*24)),'yyyy-mm-dd')

 and  col_name is not null

 ${if(len(gs)<=2,""," and 公司简称 in ("+gs+")")} 

 group by  公司简称,col_name, 年初余额,同期余额,期末余额

select * from #a1 left join #a2  on #a1.关联字段=#a2.关联字段

drop table #a1

drop table #a2

image.png

  • 小贤 小贤(提问者) 这个是在模板数据集里查询的 本来是两个sql 现在想合成一个,你这个好像不行
    2021-11-12 10:59 
  • 尛鬼 尛鬼 回复 小贤(提问者) 只要两个单独是没问题的,那就肯定可以。你放到一个数据集里去就行了
    2021-11-12 11:25 
  • 小贤 小贤(提问者) 可以帮我远程一下吗
    2021-11-12 11:40 
  • 尛鬼 尛鬼 回复 小贤(提问者) 你加我吧,点我头像
    2021-11-12 12:21 
最佳回答
0
杨朝健Lv5中级互助
发布于2021-11-12 11:10

UNION ALL

然后group by

select ...

from (

-- 备注

select 

       '${tjny}'期间,

       日期,

       公司简称,

       col_name 会计名称, 

       年初余额,

       同期余额,

       期末余额,

      null as 前年期末

                       

  from fr_iufo_zcfzb 

 where 日期 = to_char(last_day(to_date('${tjny}','yyyy-mm')),'yyyy-mm-dd')

 and  col_name is not null

 ${if(len(gs)<=2,""," and 公司简称 in ("+gs+")")}

   group by  日期,公司简称,col_name, 年初余额,同期余额,期末余额

UNION ALL

-- 备注

select 

       '${tjny}'期间,

         

       公司简称,

       col_name 会计名称, 

       null as 年初余额,

       null as 同期余额,

       null as 期末余额,

       期末余额  前年期末    

        

  from fr_iufo_zcfzb

 where 日期 =to_char(last_day(add_months(to_date('${tjny}','yyyy-mm'),-1*24)),'yyyy-mm-dd')

 and  col_name is not null

 ${if(len(gs)<=2,""," and 公司简称 in ("+gs+")")} 

 group by  公司简称,col_name, 年初余额,同期余额,期末余额

) t

group by ...

最佳回答
0
Qian同学Lv6初级互助
发布于2021-11-12 11:16
第一种,将第一张表和第二张表外层各套一层取个别明 t1 t2,让后t1 t2做关键 第二种用 with as
  • 5关注人数
  • 559浏览人数
  • 最后回答于:2021-11-12 13:35
    请选择关闭问题的原因
    确定 取消
    返回顶部