SQL对比-金蝶云星空-不同账套的凭证号
SQL-对比金蝶云星空不同账套的凭证号
--------------------------------------------------------------
001-凭证号对比
高清图片查看方法:点击图片---右键---在新标签页中打开图片(或全屏看图)

--------------------------------------------------------------
--********************************************************************************************************************************************
-----------------------------------------------------
--当前数据库---查询凭证
select (CONVERT(varchar(10), t_gl_voucher.FYear) + '-' + REPLICATE('0',2-len(t_gl_voucher.FPeriod)) + CONVERT(varchar(10), t_gl_voucher.FPeriod) + '-' + t_bd_vouchergroup_l.FName + '-' + REPLICATE('0',5-len(t_gl_voucher.FVOUCHERGROUPNO)) + CONVERT(varchar(10) , t_gl_voucher.FVOUCHERGROUPNO) ) as 金蝶cloud凭证索引
, t_gl_voucher.FYEAR as 年度 , t_gl_voucher.FPERIOD as 期间 , t_bd_vouchergroup_l.FNAME , t_gl_voucher.FVOUCHERGROUPNO as 凭证号
from t_gl_voucher left outer join t_bd_vouchergroup_l on t_gl_voucher.FVOUCHERGROUPID = t_bd_vouchergroup_l.FVCHGROUPID
left outer join T_ORG_ORGANIZATIONS_L on t_gl_voucher.FACCTORGID = T_ORG_ORGANIZATIONS_L.FORGID
where
t_gl_voucher.FYEAR = 2020 and t_gl_voucher.FPERIOD = 3 and T_ORG_ORGANIZATIONS_L.FNAME = '56_响水县灌江控股集团' --常用条件:1.组织名称/ 2.年度
order by
(CONVERT(varchar(10), t_gl_voucher.FYear) + '-' + REPLICATE('0',2-len(t_gl_voucher.FPeriod)) + CONVERT(varchar(10), t_gl_voucher.FPeriod) + '-' + t_bd_vouchergroup_l.FName + '-' + REPLICATE('0',5-len(t_gl_voucher.FVOUCHERGROUPNO)) + CONVERT(varchar(10) , t_gl_voucher.FVOUCHERGROUPNO) )
-----------------------------------------------------
--*********************************************************************************************************************************************
--指定数据库1---查询凭证
--注意:如果是没有启用多组织的数据中心,可以去掉关于组织的内容
drop view DF_迁移交付_数据库1_凭证列表
create view DF_迁移交付_数据库1_凭证列表 as
(
select D1_T03.FNAME as 迁移交付_数据库1_组织名称
, ( CONVERT(varchar(200), D1_T03.FNAME) + '-' + CONVERT(varchar(10), D1_T01.FYear) + '-' + REPLICATE('0',2-len(D1_T01.FPeriod)) + CONVERT(varchar(10), D1_T01.FPeriod) + '-' + D1_T02.FName + '-' + REPLICATE('0',5-len(D1_T01.FVOUCHERGROUPNO)) + CONVERT(varchar(10) , D1_T01.FVOUCHERGROUPNO) ) as 迁移交付_数据库1_金蝶cloud_组织凭证索引
, ( CONVERT(varchar(10), D1_T01.FYear) + '-' + REPLICATE('0',2-len(D1_T01.FPeriod)) + CONVERT(varchar(10), D1_T01.FPeriod) + '-' + D1_T02.FName + '-' + REPLICATE('0',5-len(D1_T01.FVOUCHERGROUPNO)) + CONVERT(varchar(10) , D1_T01.FVOUCHERGROUPNO) ) as 迁移交付_数据库1_金蝶cloud_单独凭证索引
, D1_T01.FYEAR as 迁移交付_数据库1_年度 , D1_T01.FPERIOD as 迁移交付_数据库1_期间 , D1_T02.FNAME 迁移交付_数据库1_凭证字 , D1_T01.FVOUCHERGROUPNO as 迁移交付_数据库1_凭证号
from [AIS20220226120723]..t_gl_voucher as D1_T01 --变量1--迁移交付_数据库1
left outer join [AIS20220226120723]..t_bd_vouchergroup_l as D1_T02 --变量1--迁移交付_数据库1
on D1_T01.FVOUCHERGROUPID = D1_T02.FVCHGROUPID
left outer join [AIS20220226120723]..T_ORG_ORGANIZATIONS_L as D1_T03 --变量1--迁移交付_数据库1
on D1_T01.FACCTORGID = D1_T03.FORGID
where D1_T01.FYEAR <= 2021 and D1_T03.FNAME = '56_响水县灌江控股集团' --变量2--常用条件:1.组织名称/ 2.年度(如果用户更改过组织名称,对比时则必须加该条件,即每个组织创建一次)
)
select * from DF_迁移交付_数据库1_凭证列表 order by 迁移交付_数据库1_金蝶cloud_组织凭证索引
-----------------------------------------------------
--***********************************************************************************************************************************************
--指定数据库2---查询凭证
--注意:如果是没有启用多组织的数据中心,可以去掉关于组织的内容
drop view DF_当前在用_数据库2_凭证列表
create view DF_当前在用_数据库2_凭证列表 as
(
select D1_T03.FNAME as 当前在用_数据库2_组织名称
, ( CONVERT(varchar(200), D1_T03.FNAME) + '-' + CONVERT(varchar(10), D1_T01.FYear) + '-' + REPLICATE('0',2-len(D1_T01.FPeriod)) + CONVERT(varchar(10), D1_T01.FPeriod) + '-' + D1_T02.FName + '-' + REPLICATE('0',5-len(D1_T01.FVOUCHERGROUPNO)) + CONVERT(varchar(10) , D1_T01.FVOUCHERGROUPNO) ) as 当前在用_数据库2_金蝶cloud_组织凭证索引
, ( CONVERT(varchar(10), D1_T01.FYear) + '-' + REPLICATE('0',2-len(D1_T01.FPeriod)) + CONVERT(varchar(10), D1_T01.FPeriod) + '-' + D1_T02.FName + '-' + REPLICATE('0',5-len(D1_T01.FVOUCHERGROUPNO)) + CONVERT(varchar(10) , D1_T01.FVOUCHERGROUPNO) ) as 当前在用_数据库2_金蝶cloud_单独凭证索引
, D1_T01.FYEAR as 当前在用_数据库2_年度 , D1_T01.FPERIOD as 当前在用_数据库2_期间 , D1_T02.FNAME 当前在用_数据库2_凭证字 , D1_T01.FVOUCHERGROUPNO as 当前在用_数据库2_凭证号
from [AIS20220302082218]..t_gl_voucher as D1_T01 --变量1--数据库2
left outer join [AIS20220302082218]..t_bd_vouchergroup_l as D1_T02 --变量1--数据库2
on D1_T01.FVOUCHERGROUPID = D1_T02.FVCHGROUPID
left outer join [AIS20220302082218]..T_ORG_ORGANIZATIONS_L as D1_T03 --变量1--数据库2
on D1_T01.FACCTORGID = D1_T03.FORGID
where D1_T01.FYEAR <= 2021 and D1_T03.FNAME = '56_响水县灌江控股集团' --变量2--常用条件:1.组织名称/ 2.年度(如果用户更改过组织名称,对比时则必须加该条件,即每个组织创建一次)
)
select * from DF_当前在用_数据库2_凭证列表 order by 当前在用_数据库2_金蝶cloud_组织凭证索引
-----------------------------------------------------
--************************************************************************************************************************************************
--两个数据库做全连接,判断是否增加或删除过凭证
--***************************************************
--用户 <没有> 修改过组织名称,对比凭证时,使用的sql语句
--如果 <没有> 修改过组织名称,则 可以 <批量 >一次性的对比多个组织的凭证数据,凭证列表的视图,只要创建一次就可以了
select T01.* , T02.*
from DF_迁移交付_数据库1_凭证列表 as T01 Full Outer Join DF_当前在用_数据库2_凭证列表 as T02 on T01.迁移交付_数据库1_金蝶cloud_组织凭证索引 = T02.当前在用_数据库2_金蝶cloud_组织凭证索引
order by T01.迁移交付_数据库1_金蝶cloud_组织凭证索引 , T02.当前在用_数据库2_金蝶cloud_组织凭证索引
-----------------------------------------------------
--***************************************************
--用户 <已经> 修改过组织名称,对比凭证时,使用的sql语句
--如果 <已经> 修改过组织名称,则 只能 <一个一个>组织的凭证进行核对,且 凭证列表视图 每个组织,都创建一次
select T01.* , T02.*
from DF_迁移交付_数据库1_凭证列表 as T01 Full Outer Join DF_当前在用_数据库2_凭证列表 as T02 on T01.迁移交付_数据库1_金蝶cloud_单独凭证索引 = T02.当前在用_数据库2_金蝶cloud_单独凭证索引
where T01.迁移交付_数据库1_金蝶cloud_单独凭证索引 is null or T02.当前在用_数据库2_金蝶cloud_单独凭证索引 is null
order by T01.迁移交付_数据库1_金蝶cloud_单独凭证索引 , T02.当前在用_数据库2_金蝶cloud_单独凭证索引
--------------------------------------------------------------

--------------------------------------------------------------