将两个 table 加入三个 ON

Joining Two table with three ON

我正在尝试从没有主键的两个 table 中选择数据 现在我的问题是我在加入时做错了什么,我可以在加入时使用超过 1 个 ON table.

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

您真正打算对这些数据做什么?使它成为一个数组的数组?或者只是数组?