• left join 左边有数据,右边无数据


     
    主要是andwhere的区别:
     
    原Sql:
    select a.ID as reqid,(select top 1 Convert(nvarchar(50),jhdatez,111) from CS_OrderPro
    where Codeno=a.InvNo and iProductId =a.iProductId)as 'jhdate',
    (select top 1 Deptname from UserInfo left join Department on  UserInfo.deptid=Department.Deptid where UserInfo.userid=AuditUserId) as deptname,
    (select isnull(SUM(iNum),0) from CS_OrderPro where CS_OrderPro.zid=a.ID and  CS_OrderPro.codeno=a.Invno) as cgnum,
    (select top 1 InvNO from CS_OrderPro where CS_OrderPro.zid=a.ID and  CS_OrderPro.codeno=a.Invno) as cginvno,
    (select isnull(SUM(CS_InvRecBill.iNum),0) 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),0) 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 1=1 and c.isend=1 and  ComoditiesType.typeid<>336

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

    修改过的Sql:

    select a.ID as reqid,(select top 1 Convert(nvarchar(50),jhdatez,111) from CS_OrderPro
    where Codeno=a.InvNo and iProductId =a.iProductId)as 'jhdate',
    (select top 1 Deptname from UserInfo left join Department on  UserInfo.deptid=Department.Deptid where UserInfo.userid=AuditUserId) as deptname,
    (select isnull(SUM(iNum),0) from CS_OrderPro where CS_OrderPro.zid=a.ID and  CS_OrderPro.codeno=a.Invno) as cgnum,
    (select top 1 InvNO from CS_OrderPro where CS_OrderPro.zid=a.ID and  CS_OrderPro.codeno=a.Invno) as cginvno,
    (select isnull(SUM(CS_InvRecBill.iNum),0) 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),0) 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 1=1 and c.isend=1 
  • 相关阅读:
    C51 使用端口 个人笔记
    C51 静态数码管 个人笔记
    C51 矩阵按键 个人笔记
    C51 蜂鸣器 个人笔记
    C51 独立按键 个人笔记
    C51 中断 个人笔记
    CC3200 TI 笔记
    iar修改包含路径的方法
    WCF绑定和行为在普通应用和SilverLight应用一些对比
    用批处理来自动化项目编译及部署(附Demo)
  • 原文地址:https://www.cnblogs.com/ywkcode/p/11491757.html
Copyright © 2020-2023  润新知