|
最佳回答 |
1
|
shojintoLv4见习互助发布于2021-11-12 13:01
|
|
|
|
|
最佳回答 |
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 
|
-
小贤(提问者)
- 这个是在模板数据集里查询的 本来是两个sql 现在想合成一个,你这个好像不行
-
尛鬼 回复 小贤(提问者)
- 只要两个单独是没问题的,那就肯定可以。你放到一个数据集里去就行了
-
小贤(提问者)
- 可以帮我远程一下吗
-
尛鬼 回复 小贤(提问者)
- 你加我吧,点我头像
|
|
|
最佳回答 |
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
|
|
|