当我在查询加入中使用外部应用代替左连接时? [英] When I use Outer Apply in place of Left Join in Query Joining ?

查看:53
本文介绍了当我在查询加入中使用外部应用代替左连接时?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嗨朋友们,



我可以用OUTER APPLY代替Left Join



代码如下:



Hi Friends,

where i can use OUTER APPLY in place of Left Join

some code as below:

OUTER APPLY
  (
      SELECT IPO.PurchaseOrderID,ISTN.STNID FROM InvoicePurchaseOrder IPO  (NOLOCK)
      LEFT JOIN InvoiceSTN ISTN  (NOLOCK) ON IPO.InvoiceID=ISTN.InvoiceID  WHERE SRPO.PurchaseOrderID=IPO.PurchaseOrderID
      UNION ALL
      SELECT SPO.PurchaseOrderID,SPO.STNID FROM STNPurchaseOrder(NOLOCK) SPO WHERE SPO.PurchaseOrderID=SRPO.PurchaseOrderID
   )  STPP  --ON SRPO.PurchaseOrderID=stpp.PurchaseOrderID







我已将其替换为






I REPLACED IT IN PLACE OF

LEFT JOIN 
  (
      SELECT IPO.PurchaseOrderID,ISTN.STNID FROM InvoicePurchaseOrder IPO  (NOLOCK)
      LEFT JOIN InvoiceSTN ISTN  (NOLOCK) ON IPO.InvoiceID=ISTN.InvoiceID  WHERE SRPO.PurchaseOrderID=IPO.PurchaseOrderID
      UNION ALL
      SELECT SPO.PurchaseOrderID,SPO.STNID FROM STNPurchaseOrder(NOLOCK) SPO 
   )  STPP  ON SRPO.PurchaseOrderID=stpp.PurchaseOrderID





请帮助我!!!



谢谢

SHREENIWAS

推荐答案

没有太多的信息,但请查看以下链接

http://www.mssqltips.com/sqlservertip/1958/sql-server-cross-apply-and-outer-apply / [ ^ ]

http ://technet.microsoft.com/en-us/library/ms175156(v = sql.105).aspx [ ^ ]
Don''t have much infromation but check below links
http://www.mssqltips.com/sqlservertip/1958/sql-server-cross-apply-and-outer-apply/[^]
http://technet.microsoft.com/en-us/library/ms175156(v=sql.105).aspx[^]


这篇关于当我在查询加入中使用外部应用代替左连接时?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆