主要是andwhere的区别:
 
原Sql:
select a.ID as reqid,(select top  Convert(nvarchar(),jhdatez,) from CS_OrderPro
where Codeno=a.InvNo and iProductId =a.iProductId)as 'jhdate',
(select top Deptname from UserInfo left join Department on UserInfo.deptid=Department.Deptid where UserInfo.userid=AuditUserId) as deptname,
(select isnull(SUM(iNum),) from CS_OrderPro where CS_OrderPro.zid=a.ID and CS_OrderPro.codeno=a.Invno) as cgnum,
(select top InvNO from CS_OrderPro where CS_OrderPro.zid=a.ID and CS_OrderPro.codeno=a.Invno) as cginvno,
(select isnull(SUM(CS_InvRecBill.iNum),) from CS_InvRecBill
left join CS_OrderPro on CS_InvRecBill.zid=CS_OrderPro.ID
where CS_OrderPro.zid=a.ID and CS_OrderPro.codeno=a.Invno) as rknum,*,
isnull((select sum(pronum) from cs_stock where proid=a.iproductid),) as kcnum,
comoditiestype from CS_OrderRequise a left join CS_OrderRequiseList c on c.OutCode=a.InvNO
left join B_Products b on b.id=a.iProductID
left join ComoditiesType on ComoditiesType.typeid=b.typeid where = and c.isend= and ComoditiesType.typeid<>336

左连接查询后,最后的where语句过滤了本该显示的数据。

修改过的Sql:

select a.ID as reqid,(select top  Convert(nvarchar(),jhdatez,) from CS_OrderPro
where Codeno=a.InvNo and iProductId =a.iProductId)as 'jhdate',
(select top Deptname from UserInfo left join Department on UserInfo.deptid=Department.Deptid where UserInfo.userid=AuditUserId) as deptname,
(select isnull(SUM(iNum),) from CS_OrderPro where CS_OrderPro.zid=a.ID and CS_OrderPro.codeno=a.Invno) as cgnum,
(select top InvNO from CS_OrderPro where CS_OrderPro.zid=a.ID and CS_OrderPro.codeno=a.Invno) as cginvno,
(select isnull(SUM(CS_InvRecBill.iNum),) from CS_InvRecBill
left join CS_OrderPro on CS_InvRecBill.zid=CS_OrderPro.ID
where CS_OrderPro.zid=a.ID and CS_OrderPro.codeno=a.Invno) as rknum,*,
isnull((select sum(pronum) from cs_stock where proid=a.iproductid),) as kcnum,
comoditiestype from CS_OrderRequise a left join CS_OrderRequiseList c on c.OutCode=a.InvNO
left join B_Products b on b.id=a.iProductID
left join ComoditiesType on ComoditiesType.typeid=b.typeid AND ComoditiesType.typeid<>336 where = and c.isend=

left join 左边有数据,右边无数据的更多相关文章

  1. flink-----实时项目---day06-------1. 获取窗口迟到的数据 2.双流join(inner join和left join(有点小问题)) 3 订单Join案例(订单数据接入到kafka,订单数据的join实现,订单数据和迟到数据join的实现)

    1. 获取窗口迟到的数据 主要流程就是给迟到的数据打上标签,然后使用相应窗口流的实例调用sideOutputLateData(lateDataTag),从而获得窗口迟到的数据,进而进行相关的计算,具体 ...

  2. SQL server 存储过程 C#调用Windows CMD命令并返回输出结果 Mysql删除重复数据保留最小的id C# 取字符串中间文本 取字符串左边 取字符串右边 C# JSON格式数据高级用法

    create proc insertLog@Title nvarchar(50),@Contents nvarchar(max),@UserId int,@CreateTime datetimeasi ...

  3. MySQL时间段查询,无数据补0

    上一节提到分时间段统计,可是无数据的时候不显示,而此时我们需要让他显示0. 首先我们需要建一个时间表. CREATE TABLE `my_date` ( `date` date NOT NULL, P ...

  4. Repeater为空时显示“暂无数据”,很方便实用方法

    Repeater为空时显示“暂无数据”,很方便实用方法 <FooterTemplate>   <asp:Label ID="lblEmptyZP" Text=&q ...

  5. 关于echart没有数据显示暂无数据

    对于echart当没有数据的时候怎么显示, 首先,如果你的series的值为空值的话,曲线将是一片空白,什么都不会有,所以在这里就要进行一个判断,如果没有值的话,人为的添加一个键 if(Object. ...

  6. rancher导入k8s集群后添加监控无数据

    1.日志报错 rancher导入k8s集群后添加监控无数据,rancher日志报错: k8s.io/kube-state-metrics/pkg/collectors/builder.go:: Fai ...

  7. sql 数据处理时join字段慎重选择--避免出现double数据!

    前几天做BI Tabular表格模型的时候,数据中心核对数据发现模型展现数据比实际数据要多,经过核查之后,发现原来我是一个不经意,在做数据选取的时候,inner join的字段CITY_NAME_CN ...

  8. C/C++ socket编程教程之九:TCP的粘包问题以及数据的无边界性

    C/C++ socket编程教程之九:TCP的粘包问题以及数据的无边界性 上节我们讲到了socket缓冲区和数据的传递过程,可以看到数据的接收和发送是无关的,read()/recv() 函数不管数据发 ...

  9. 【Transact-SQL】SQL Server自动把left join自动转化为inner join、以及关联时的数据重复问题

    原文:[Transact-SQL]SQL Server自动把left join自动转化为inner join.以及关联时的数据重复问题 1.SQL Server自动把left join自动转化为inn ...

随机推荐

  1. AttributeError: 'builtin_function_or_method' object has no attribute 'reshape'

    AttributeError: 'builtin_function_or_method' object has no attribute 'reshape' 读取.mat文件时,copy没加括号

  2. [Gamma阶段]第四次Scrum Meeting

    Scrum Meeting博客目录 [Gamma阶段]第四次Scrum Meeting 基本信息 名称 时间 地点 时长 第四次Scrum Meeting 19/05/30 大运村寝室6楼 35min ...

  3. [Gamma阶段]第七次Scrum Meeting

    Scrum Meeting博客目录 [Gamma阶段]第七次Scrum Meeting 基本信息 名称 时间 地点 时长 第七次Scrum Meeting 19/06/3 大运村寝室6楼 25min ...

  4. 自顶向下深入分析Netty(三)--Bootstrap

    自顶向下深入分析Netty(一)--预备知识 自顶向下深入分析Netty(二)--线程模型 自顶向下深入分析Netty(三)--Bootstrap 自顶向下深入分析Netty(四)--EventLoo ...

  5. hbuilderx - 常用快捷键操作

    常用的操作有(缺少一个快捷键,就是选中行) 1. ctrl+/ 注释代码 2. ctrl+y 恢复撤销 3. ctrl+x 剪切 4. ctrl+z 撤销 5. ctrl+c 复制 6. ctrl+p ...

  6. qt5 源码编译

    源码 qt-everywhere-src-5.11.3 依赖 apt-get install bison build-essential gperf flex ruby python libasoun ...

  7. SpringMVC(十四):SpringMVC 与表单提交(post/put/delete的用法);form属性设置encrypt='mutilpart/form-data'时,如何正确配置web.xml才能以put方式提交表单

    SpringMVC 与表单提交(post/put/delete的用法) 为了迎合Restful风格,提供的接口可能会包含:put.delete提交方式.在springmvc中实现表单以put.dele ...

  8. nodejs命令行执行时带参数

    nodejs命令行执行时带参数 转 https://www.jianshu.com/p/474e6d76f867   今天项目里突然想在初始化时跑一些数据,于是想起以前在python时可以在命令行里带 ...

  9. mysql 日期自动自动添加及更新为当前时间

    1. 虽然mysql中日期时间类型比较多,但是支持默认值的类型只有timestamp,详见这里. 2. 希望新增记录时自动写入当前时间,建表语句如下: `create_time` timestamp ...

  10. (转)Nginx中sendfile的作用

    原文:https://blog.csdn.net/zhusixun/article/details/81702380 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上 ...