mysql的内联与左联_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 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

e161d7e97be82b63178660f7e2cfbe0d.png

这种关联叫做内联,表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 左联的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值