inner join 内联与left join 左联的实例代码

网友投稿 275 2023-04-02


inner join 内联与left join 左联的实例代码

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

select t1.MOTCARRIERNAME

,t2.ROUTENAME

,y.BUSLICENSE

,y.ACCTPRICE

,y.PRICE

,y.CANACCTPRICE

,y.CENTERACCTPRICE

,y.OTHERACCTPRICE

,y.STAACCTPRICE

,y.TKAMOUNT

,y.SCHBILLID

,m.ManualTicketsStationFee

,m.ManualTicketsFee

from

(Select b.MOTCARRIERID

,b.ROUTEID

,b.BUSLICENSE

,a.SCHBILLID

,a.ACCTPRICE

,a.CANACCTPRICE

,a.CENTERACCTPRICE

,a.OTHERACCTPRICE

,a.PRICE

,a.STAACCTPRICE

,a.TKAMOUNT

From iKlYqhistory.TKSCHBILLHISTORY a

,history.TKSERIALSCHHISTORY b

,history.TKCARRYSTASCHHISTORY c

Where a.Drvdate between @pStartDate and @pEndDate

and a.SchBillStatusId=1

and b.SchId=a.SchId

and b.Drvdate=a.Drvdate

and a.schid=c.schid

and a.DRVDATE=c.DRVDATE

)y

,baseinfo.MOTORCARRIER t1

,baseinfo.ROUTE t2

,Settlement.dbo.View_ManualTicket m

where t1.MOTCARRIERID=y.MOTCARRIERID and t2.ROUTEID =y.ROUTEID and m.BusLicense=y.BUSLICENSE

order by t1.MOTCARRIERNAME,t2.iKlYqROUTENAME,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

总结

以上所述是给大家介绍的inner join 内联与left join 左联的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,会及时回复大家的。在此也非常感谢大家对我们网站的支持!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:详解node服务器中打开html文件的两种方法
下一篇:Java8中Optional类型和Kotlin中可空类型的使用对比
相关文章

 发表评论

暂时没有评论,来抢沙发吧~