您好,登錄后才能下訂單哦!
今天老板把我叫過去,給我分析了一下我寫的存儲過程【捂臉羞愧中。。。】,因為又臨時加了個需求需要關聯另外一個視圖,我寫成了內聯,所以讀取出來的數據少了好多。
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 左聯的實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。