多个JOIN语句返回多行

时间:2014-10-09 04:35:09

标签: sql join

我相信我需要一双新鲜的眼睛,我的注意力已被拉到其他地方工作,我没有时间去解决这个问题。因此,我希望有人能够提出建议。

这是我的SQL语句的缩写版本:

SELECT 
  PR.PROJECTNUM, 
  PR.PROJECTNUMBER, 
  PR.AMRNUM, 
  W.WONUM, 
  C.PONUM, 
  C.POLINENUM 
FROM PROJECT PR

INNER JOIN WORKORDER W

ON PR.PROJECTNUM = W.PROJECTNUM 
  OR PR.PROJECTNUMBER = W.PROJECTNUMBER
  OR PR.AMRNUM = W.AMRNUM

INNER JOIN 

 (SELECT PL.WONUM, P.PONUM, PL.POLINENUM FROM PO P 
   INNER JOIN POLINE PL ON P.PONUM = PL.PONUM) C 

ON W.WONUM = C.WONUM;

如您所见,我在这里加入了4个表格。POPOLINEWORKORDERPROJECT。问题在于WORKORDERPROJECT表之间的多个连接属性。

我事先不知道哪个属性/字段将填充WORKORDER表中的值,但至少有一个将是...但有时全部三个。如果WORKORDER表中的多个连接属性填充了PROJECT表中的匹配值,则会发生重复。

在我执行上面的SQL之前,我几乎需要测试WORKORDER表中join属性中是否存在值,并且如果填充了多个有了一个值,那么我需要找到哪个PROJECT属性有一个匹配的值.... geez ...即使输入它也让我的头旋转... lol

我可能需要在早上回来并添加一些背景,我的脑子此刻正在炒:)

感谢阅读!

0 个答案:

没有答案