主要是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. putty WinScp 免密登录远程 Linux

    该方法的原理是预先生成一对公钥和私钥,私钥以文件的形式保存在本地,公钥保存在远程机器上.这样每次登录只需指定私钥文件,远程机器通过比对公钥和私钥来验证登录的合法性. Putty 免密登录 第一步 生成 ...

  2. UDS的使用

    我们通过对导热微分方程式的求解,并与Fluent自己的求解结果进行对比,介绍一下Fluent当中UDS(自定义标量)的具体使用方法. 首先Fluent当中的UDS主要针对下面这样形式的方程: 其中: ...

  3. [原创]浅谈对任务分解法WBS应用

    [原创]浅谈对任务分解法WBS应用 1.WBS是什么? 即Work Breakdown Structure如何进行WBS分解:目标→任务→工作→活动 2.WBS分解的原则:将主体目标逐步细化分解,最底 ...

  4. Delphi XE7并行编程: 并行For循环

    从Delphi XE7开始,引入了全新的并行编程库用于简化并行编程,它位于System.Threading单元中. 下面是一个判断素数的简单例子:function IsPrime (N: Intege ...

  5. 使用ssh-keygen生成私钥和公钥

    1.使用ssh-keygen生成私钥和公钥 命令如下: ssh-keygen -t rsassh-keygen -t rsa -C "用户名自取"可以是邮箱 例子: fdipzon ...

  6. JSON字符串转实体对象

    JSON转实体两种方式 代码片段 ; i < dt.Rows.Count; i++) { //Json字符串 string designJson = dt.Rows[i]["Desig ...

  7. Spring+SpringMVC+Spring Data JPA完美整合

    使用Maven实现SSS框架的整合. 方便记录,专门建了一个pom项目用来整合SSS框架所用的jar包 1.POM项目,作为父级项目,记录整个整合中的依赖jar包pom文件 <project x ...

  8. Session丢失的原因及解决办法

    Asp.net 默认配置下,Session莫名丢失的原因及解决办法: 正常操作情况下Session会无故丢失.因为程序是在不停的被操作,排除Session超时的可能.另外,Session超时时间被设定 ...

  9. linux 资源

    linux 资源查看 cpu 信息 通过/proc/cpuinfo 查看  # 总核数 = 物理CPU个数 X 每颗物理CPU的核数  # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 ...

  10. readiness与liveness

    一.liveness(存活探针)方式 HTTP GET:对指定的端口和路径执行http get请求,返回非错误代码即代表正常 TCP socket:对指定端口建立TCP链接,链接通过则代表正常 Exe ...