时间:2021-05-28
今天老板把我叫过去,给我分析了一下我写的存储过程【捂脸羞愧中。。。】,因为又临时加了个需求需要关联另外一个视图,我写成了内联,所以读取出来的数据少了好多。
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 history.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.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
总结
以上所述是小编给大家介绍的inner join 内联与left join 左联的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一.Join语法概述join用于多表中字段之间的联系,语法如下:复制代码代码如下:...FROMtable1INNER|LEFT|RIGHTJOINtable2
对于SQL的Join,在学习起来可能是比较乱的。我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结
join的类型1.内联结:将两个表中存在联结关系的字段符合联结关系的那些记录形成记录集的联结。2.外联结:分为外左联结和外右联结。案例背景createtable
代码示例#输入'''order_id:31489join_course[0][join_tel]:13130999882join_course[0][join_
join方法用于连接字符串数组复制代码代码如下:s=['a','b','c','d']print''.join(s)print'-'.join(s)输出结果:a