SQL需求是损益视图串资产负债视图

用Excel透视表模拟出来的结果就是

用SQL查询如下:

当Where条件是左边的视图的时候

  1. select
  2. 损益视图.年
  3. ,损益视图.年月
  4. ,损益视图.期间
  5. ,损益视图.账簿名称
  6. ,损益视图.组织编码
  7. ,损益视图.组织名称
  8. ,损益视图.项目名称 损益项目
  9. ,损益视图.本期发生数 损益本期
  10. ,资产负债视图.项目名称 资产项目
  11. ,资产负债视图.年初数 资产年初
  12. ,资产负债视图.期末数 资产期末
  13.  
  14. from 损益视图
  15. full join 资产负债视图
  16. on 损益视图.年月 = 资产负债视图.年月
  17. and 损益视图.年 =资产负债视图.年
  18. and 损益视图.期间 = 资产负债视图.期间
  19. and 损益视图.账簿名称 = 资产负债视图.账簿名称
  20. and 损益视图.组织编码 = 资产负债视图.组织编码
  21. where 损益视图.账簿名称 ='蓝海电子公司主账簿'

当Where条件是右边视图的时候

  1. select
  2. 损益视图.年
  3. ,损益视图.年月
  4. ,损益视图.期间
  5. ,损益视图.账簿名称
  6. ,损益视图.组织编码
  7. ,损益视图.组织名称
  8. ,损益视图.项目名称 损益项目
  9. ,损益视图.本期发生数 损益本期
  10. ,资产负债视图.项目名称 资产项目
  11. ,资产负债视图.年初数 资产年初
  12. ,资产负债视图.期末数 资产期末
  13.  
  14. from 损益视图
  15. full join 资产负债视图
  16. on 损益视图.年月 = 资产负债视图.年月
  17. and 损益视图.年 =资产负债视图.年
  18. and 损益视图.期间 = 资产负债视图.期间
  19. and 损益视图.账簿名称 = 资产负债视图.账簿名称
  20. and 损益视图.组织编码 = 资产负债视图.组织编码
  21. --where 损益视图.账簿名称 ='蓝海电子公司主账簿'
  22. where 资产负债视图.账簿名称 ='蓝海电子公司主账簿'

所以要慎重选择Where条件,同时如果这个数据集被CBoard调用的时候,那还要注意这些

项目了,因为Cboard会包一层视图,这时候项目就可以变成条件了,条件就决定了重复方向。

  1. select *
  2. from (
  3.  
  4. select
  5. 损益视图.年
  6. ,损益视图.年月
  7. ,损益视图.期间
  8. ,损益视图.账簿名称
  9. ,损益视图.组织编码
  10. ,损益视图.组织名称
  11. ,损益视图.项目名称 损益项目
  12. ,损益视图.本期发生数 损益本期
  13. ,资产负债视图.项目名称 资产项目
  14. ,资产负债视图.年初数 资产年初
  15. ,资产负债视图.期末数 资产期末
  16.  
  17. from 损益视图
  18. full join 资产负债视图
  19. on 损益视图.年月 = 资产负债视图.年月
  20. and 损益视图.年 =资产负债视图.年
  21. and 损益视图.期间 = 资产负债视图.期间
  22. and 损益视图.账簿名称 = 资产负债视图.账簿名称
  23. and 损益视图.组织编码 = 资产负债视图.组织编码
  24. ) v_cview
  25.  
  26. --where 损益视图.账簿名称 ='蓝海电子公司主账簿'
  27. where 账簿名称 ='蓝海电子公司主账簿'

SQL Full Join 的 Where条件的更多相关文章

  1. SQL中JOIN 的用法

    关于sql语句中的连接(join)关键字,是较为常用而又不太容易理解的关键字,下面这个例子给出了一个简单的解释 --建表table1,table2:create table table1(id int ...

  2. SQL中join的用法

    关于sql语句中的连接(join)关键字,是较为常用而又不太容易理解的关键字,下面这个例子给出了一个简单的解释 --建表table1,table2:create table table1(id int ...

  3. SQL 连接 JOIN 例解。(左连接,右连接,全连接,内连接,交叉连接,自连接)

    SQL 连接 JOIN 例解.(左连接,右连接,全连接,内连接,交叉连接,自连接) 最近公司在招人,同事问了几个自认为数据库可以的应聘者关于库连接的问题,回答不尽理想-现在在这写写关于它们的作用假设有 ...

  4. SQL Server Join方式

    原文:SQL Server Join方式 0.参考文献 Microsoft SQL Server企业级平台管理实践 看懂SqlServer查询计划 1.测试数据准备 参考:Sql Server中的表访 ...

  5. Spark SQL 之 Join 实现

    原文地址:Spark SQL 之 Join 实现 Spark SQL 之 Join 实现 涂小刚 2017-07-19 217标签: spark , 数据库 Join作为SQL中一个重要语法特性,几乎 ...

  6. SQL之Join的使用

    一.基本概念 关于sql语句中的连接(join)关键字,是较为常用而又不太容易理解的关键字,下面这个例子给出了一个简单的解释 –建表user1,user2: table1 : create table ...

  7. 022:SQL优化--JOIN算法

    目录 一. SQL优化--JOIN算法 1.1. JOIN 写法对比 2. JOIN的成本 3. JOIN算法 3.1. simple nested loop join 3.2. index nest ...

  8. SQL 连接(JOIN)

    SQL 连接(JOIN) SQL join 用于把来自两个或多个表的行结合起来. SQL JOIN SQL JOIN 子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段. 最常见的 JO ...

  9. SQL中join和cross join的区别

    SQL中的连接可以分为内连接,外连接,以及交叉连接 . 1. 交叉连接CROSS JOIN 如果不带WHERE条件子句,它将会返回被连接的两个表的笛卡尔积,返回结果的行数等于两个表行数的乘积: 举例, ...

随机推荐

  1. Laravel 文件上传失败的问题 error 7

    一个站点上传文件失败 error为7  UPLOAD_ERR_CANT_WRITE 临时文件上传不上  $_FILE打出来 Array(    [file] => Array        (  ...

  2. Laravel trait 使用心得

    trait 是在PHP5.4中为了方便代码复用的一种实现方式,但目前我在看的的PHP项目中较少看的有程序员去主动使用这个实现方式,在laravel中有很多 trait 的使用,关于trait 在 la ...

  3. Ubuntu的常识使用了解

    1 在分区的时候也是有一定的机巧的,根据磁盘的特点,我们知道越是靠磁盘外部的柱面,旋转越快,而且每次旋转时,磁盘读写头可以覆盖较多的区域,也就意味着靠外部的柱面可以得到较好的性能.所以在分区时,我们应 ...

  4. vs的 Avalon 自动补全

    以VS2013为例: 1.关闭 Visual Studio 2.打开 C:/Program Files (x86)/Microsoft Visual Studio 12.0/Common7/Packa ...

  5. Cockroachdb 三、副本设置

    三 副本配置 CockroachDB 副本配置可分为三个等级,集群级别>数据库级别>表级别 格式 YAML range_min_bytes: <size-in-bytes> / ...

  6. C# 图书整理

    C#测试驱动开发C#设计模式C#高级编程单元测试之道C#版:使用Nunit 继续添加......

  7. [Elixir003] Mix Archives

    在[Elixir001]中使用 mix escript.build 生成一个lifelog 的escript启动脚本. 今天我们尝试一下另一种方式:生成Archives. 我们先添加一个Task 1. ...

  8. PostSharp 结合 log4net 自动记录日志

    环境: VS 2012 PostSharp-4.1.28  (下载地址)https://visualstudiogallery.msdn.microsoft.com/a058d5d3-e654-43f ...

  9. C#递归例程

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Cons ...

  10. MaxScript镜像函数

    看到有网友需要写的,其实镜像就是缩放改为负数 Fn MirrorObject argObjects argAxisName = ( local axisNames = #(#x,#y,#z) do ( ...