用FULL JOIN全连接语句合并科目编码不一致的多年余额表的方法,本文主要内容关键词为:余额论文,科目论文,语句论文,多年论文,方法论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
全连接的含义是不管表1和表2的元组是否满足连接条件,均输出表1和表2的内容;如果是在连接条件上匹配的元组,则另一个表返回相应值,否则另一个表返回值。 在被审计单位不同年度余额表的科目编码发生变化时,为了在总体上把握多个年度的总账余额变化情况,在SQL中可以使用FULL JOIN全连接语句,将科目编码不一致的余额表,合并在同一张表上。具体做法: 1.首先将2012-2015年的EXCEL余额表导入SQL,在导入前注意将字段名称标注年度,以便在合并后的总表上加以区别。 2.先用full join将2012、2013两个年度的余额表全连接:select a2.*,a3.* from a2 full join a3 on a2.科目编码2012=a3.科目编码2013,浏览查询结果后发现,既有2012年有2013年无的科目编码,又有2013年有2012年无的科目编码。 3.在全连接后生成的表中建立新列,取这两个年度科目编码不为空的值为新列的值。同样的方法建立科目名称新列,用CASE语句来完成。 select(case when a2.科目编码2012IS NULL then a3.科目编码2013 else a2.科目编码2012 end)as fullbianma,(case when a2.科目名称2012 IS NULL then a3.科目名称2013else a2.科目名称2012 end)as fullmc,a2.*,a3.* into a23 from a2 full join a3 on a2.科目编码2012=a3.科目编码2013 4.由于全连接一般只能在两张表上进行,用同样的方法分别再与2014、2015年度的余额表合并。 select(case when fullbianma IS NU LL then a4.科目编码2014 else fullbianma end)as fullbianma1, (case when fullmc IS NULL then a4.科目名称2014 else fullmc end)as fullmc1,aa23.*,a4.* into aa234 from aa23 full join a4 on aa23 fullbianma=a4.科目编码2014 select(case when fullbianma1 IS NULL then a5.科目编码2015 else fullbianma1 end)as fullbianma2, (case when fullmc1 IS NULL then a5.科目名称2015 else fullmc1 end)as fullmc2,aa234.*,a5.* into aa2345 from aa234 full join a5 on aa234.fullbianma=a5.科目编码2015 5.去除总表aa234的冗余字段fullbianma、fullbianma1、fullmc、fullmc1。标签:驾照考试论文;