簡體   English   中英

通過三個ON連接兩個表

[英]Joining Two table with three ON

我試圖從沒有主鍵的兩個表中選擇數據,現在我的問題是我在玩游戲時做錯了什么,我可以在聯接表中使用1個以上的ON嗎?

SELECT 
    A.PRODUCT, 
   A.WSTYPE, A.PACKAGE, AWACSLF.LFSIZE,AWACSLF.DEFAULTWOQTY
FROM OCAPSYS.AWACSRECIPEBYWSTYPE A
 inner join  OCAPSYS.AWACSLF 
 On A.LEADFRAME12NC = AWACSLF.LF12NC  
 On A.PRODUCT =  AWACSLF.DEVICE
 On A.PACKAGE =  AWACSLF.PACKAGE

正確的語法是使用AND

   SELECT 
       A.PRODUCT, 
       A.WSTYPE, A.PACKAGE, AWACSLF.LFSIZE,AWACSLF.DEFAULTWOQTY
       FROM OCAPSYS.AWACSRECIPEBYWSTYPE A
       INNER JOIN  OCAPSYS.AWACSLF 
       ON A.LEADFRAME12NC = AWACSLF.LF12NC  
       AND A.PRODUCT =  AWACSLF.DEVICE
       AND A.PACKAGE =  AWACSLF.PACKAGE

只要每個表的數據沒有相同的列名,就可以添加多個ON。 但是ON僅用於表。 例如:

SELECT O.OrderNumber, CONVERT(date,O.OrderDate) AS Date, 
       P.ProductName, I.Quantity, I.UnitPrice 
  FROM [Order] O 
  JOIN OrderItem I ON O.Id = I.OrderId 
  JOIN Product P ON P.Id = I.ProductId
ORDER BY O.OrderNumber

您真正打算對數據做什么? 使它成為數組的數組? 還是只是數組?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM