zoukankan      html  css  js  c++  java
  • inner join 内联与left join 左联

    今天老板把我叫过去,给我分析了一下我写的存储过程【捂脸羞愧中。。。】,因为又临时加了个需求需要关联另外一个视图,我写成了内联,所以读取出来的数据少了好多。

     1 select t1.MOTCARRIERNAME
     2             ,t2.ROUTENAME
     3             ,y.BUSLICENSE
     4             ,y.ACCTPRICE
     5             ,y.PRICE
     6             ,y.CANACCTPRICE
     7             ,y.CENTERACCTPRICE
     8             ,y.OTHERACCTPRICE
     9             ,y.STAACCTPRICE
    10             ,y.TKAMOUNT
    11             ,y.SCHBILLID
    12             ,m.ManualTicketsStationFee
    13             ,m.ManualTicketsFee
    14         from
    15         (Select b.MOTCARRIERID
    16             ,b.ROUTEID
    17             ,b.BUSLICENSE
    18             ,a.SCHBILLID
    19             ,a.ACCTPRICE
    20             ,a.CANACCTPRICE
    21             ,a.CENTERACCTPRICE
    22             ,a.OTHERACCTPRICE
    23             ,a.PRICE
    24             ,a.STAACCTPRICE
    25             ,a.TKAMOUNT
    26             From history.TKSCHBILLHISTORY a
    27             ,history.TKSERIALSCHHISTORY b
    28             ,history.TKCARRYSTASCHHISTORY c
    29             Where a.Drvdate between @pStartDate and @pEndDate 
    30                 and a.SchBillStatusId=1 
    31                 and b.SchId=a.SchId 
    32                 and b.Drvdate=a.Drvdate 
    33                 and a.schid=c.schid 
    34                 and a.DRVDATE=c.DRVDATE
    35         )y
    36         ,baseinfo.MOTORCARRIER t1
    37         ,baseinfo.ROUTE t2
    38         ,Settlement.dbo.View_ManualTicket m
    39         where t1.MOTCARRIERID=y.MOTCARRIERID and t2.ROUTEID =y.ROUTEID and m.BusLicense=y.BUSLICENSE
    40         order by t1.MOTCARRIERNAME,t2.ROUTENAME,y.BUSLICENSE

    这种关联叫做内联,表A,表B where A.Id=B.Id,只有表A,表B里都有这个ID,这条数据才会被显示出来。但是我的项目中需要的是以表A为主表,只要表A中有的数据都要显示出来,表B中有与表A相关的数据就显示,没有则置为空。

    即A left join B on A.Id=B.Id

  • 相关阅读:
    种类并查集
    因式分解
    最长递增(不减)子序列
    C++之算法题模板
    线段树
    C++之环境搭建
    C++之vector用法
    逆序数以及右边更小数的个数
    Unity3d之动态连接Mesh Renderer和Collider
    Matlab之字符串处理
  • 原文地址:https://www.cnblogs.com/wsn1203/p/7541962.html
Copyright © 2011-2022 走看看