FROM 总预算会计账凭证明细表 A JOIN U_总预算科目1 B
ON A.会计科目=B.内码 AND A.SET_YEAR=B.业务年度 JOIN U_预算单位 C
ON A.预算单位=C.内码 AND A.SET_YEAR=C.业务年度 JOIN U_支出分类科目 DD
ON LEFT(A.预算科目,6)=DD.内码 AND A.SET_YEAR=DD.业务年度
where A.SET_YEAR =2008 --扩展位数的科目+收入+预算单位 UNION
SELECT DISTINCT 新科目=新科目编码+新收入编码+新预算单位编码,
科目名称=预算单位名称,业务年度=A.SET_year ,方向=(CASE WHEN LEFT(会计科目,1) IN (1,5) THEN '借' ELSE '贷' END)
FROM 总预算会计账凭证明细表 A JOIN U_总预算科目1 B
ON A.会计科目=B.内码 AND A.SET_YEAR=B.业务年度 JOIN U_预算单位 C
ON A.预算单位=C.内码 AND A.SET_YEAR=C.业务年度 JOIN U_收入分类科目 D
ON LEFT(A.预算收入,9)=D.内码 AND A.SET_YEAR=D.业务年度
where A.SET_YEAR =2008 --扩展位数的科目+收入 UNION
SELECT DISTINCT 新科目=新科目编码+新收入编码, 科目名称=收入名称,业务年度=A.SET_year ,方向=(CASE WHEN LEFT(会计科目,1) IN (1,5) THEN '借' ELSE '贷' END)
FROM 总预算会计账凭证明细表 A JOIN U_总预算科目1 B
ON A.会计科目=B.内码 AND A.SET_YEAR=B.业务年度 JOIN U_收入分类科目 D
ON left(A.预算收入,6)=D.内码 AND A.SET_YEAR=D.业务年度
WHERE A.SET_YEAR =2008 UNION
SELECT DISTINCT 新科目=新科目编码+新收入编码, 科目名称=收入名称,业务年度=A.SET_year ,方向=(CASE WHEN LEFT(会计科目,1) IN (1,5) THEN '借' ELSE '贷' END)
FROM 总预算会计账凭证明细表 A
JOIN U_总预算科目1 B
ON A.会计科目=B.内码 AND A.SET_YEAR=B.业务年度 JOIN U_收入分类科目 D
ON left(A.预算收入,9)=D.内码 AND A.SET_YEAR=D.业务年度
WHERE A.SET_YEAR =2008 --扩展位数的科目+支出类科目 UNION
SELECT DISTINCT 新科目=新科目编码+新支出编码, 科目名称=支出名称,业务年度=A.SET_year ,方向=(CASE WHEN LEFT(会计科目,1) IN (1,5) THEN '借' ELSE '贷' END)
FROM 总预算会计账凭证明细表 A JOIN U_总预算科目1 B
ON A.会计科目=B.内码 AND A.SET_YEAR=B.业务年度 JOIN U_支出分类科目 D
ON LEFT(A.预算科目,3)=D.内码 AND A.SET_YEAR=D.业务年度
WHERE A.SET_YEAR =2008 --扩展位数的科目+支出款科目 UNION
SELECT DISTINCT 新科目=新科目编码+DD.新支出编码,
科目名称=DD.支出名称,业务年度=A.SET_year ,方向=(CASE WHEN LEFT(会计科目,1) IN (1,5) THEN '借' ELSE '贷' END)
FROM 总预算会计账凭证明细表 A JOIN U_总预算科目1 B
ON A.会计科目=B.内码 AND A.SET_YEAR=B.业务年度 JOIN U_支出分类科目 DD
ON LEFT(A.预算科目,6)=DD.内码 AND A.SET_YEAR=DD.业务年度
WHERE A.SET_YEAR =2008 GO
--删除NULL之值记录
DELETE FROM U_总预算科目_NEW WHERE 新科目编码 IS NULL GO
(六)生成新表――U_总预算期初余额表。将新科目编码添加到新余额表里。SQL 语句如下:
SELECT A.业务年度,
新科目=CAST(REPLACE((新科目编码+(CASE WHEN DD.新支出编码 IS NULL THEN '' ELSE DD.新支出编码 END )
+(CASE WHEN 新收入编码 IS NULL THEN '' ELSE 新收入编码 END )+(CASE WHEN 新预算单位编码 IS NULL THEN ''
相关推荐: