我试图加入两个表中没有共同元素的表,但现实生活中的关系很重要。我能够从两个表中获取数据,但它会产生行重复。输出如下:
Job Release Date Release Qty Ship Date Qty Shipped
17760 2/15/13 320 2/14/13 320
17760 3/18/13 250 2/14/13 320
17760 4/11/13 180 2/14/13 320
17760 2/15/13 320 3/13/13 250
17760 3/18/13 250 3/13/13 250
17760 4/11/13 180 3/13/13 250
17760 2/15/13 320 4/08/13 180
17760 3/18/13 250 4/08/13 180
17760 4/11/13 180 4/08/13 180
我的SQL语句如下:
SELECT PD.oqjob AS Job
, [OR].ordate AS [Release Date]
, [OR].orrqty AS [Release Qty]
, PH.opsdte AS [Ship Date]
, PD.oqaqty AS [Ship Qty]
FROM
dbo.opakh PH
LEFT OUTER JOIN dbo.opakd PD
ON PH.oppack = PD.oqpack
LEFT OUTER JOIN dbo.orels [OR]
ON PD.oqord = [OR].orord AND PD.oqolin = [OR].orline
WHERE
PD.oqjob = '17760'
我希望我的输出看起来像下面这样,发布日期和打包日期都是从早到晚排序的。
Job Release Date Release Qty Ship Date Qty Shipped
17760 2/15/13 0:00 320.00 2/14/13 0:00 320.00
17760 3/18/13 0:00 250.00 3/13/13 0:00 250.00
17760 4/11/13 0:00 180.00 4/08/13 0:00 180.00
同样重要的是要注意,从OR
表返回的行数可能与表返回的行数不同PH
。任一表都可以返回更多行。
有没有办法做到这一点?
编辑:我已经重做我的 SQL 语句,所以没有显示任何额外的内容,也没有任何额外的表或数据
该OR
表包含三个发布日期,每个发布日期都有自己的数量
2/15/13 320
3/18/13 250
4/11/13 180
有三个不同的 Packer(发货日期),分别有一个 Packer Header 和 Packer DetailPH
表PD
。我需要“PH”表中的日期和表中的数量PD
。加入这两个表后,它看起来像这样:
2/14/13 320
3/13/13 250
4/08/13 180
然后我试图将PH
&PD
结果与OR
结果结合起来。