SQL查询Distinct / Group By不工作



我不是一个很好的选择语句的工匠,希望有人可以帮助。我有两个制造零件表:

STOCK表中有库存。由于零件分散在多个位置,因此它具有存在于多个行中的所有零件编号。

收据表是某人创建的表。这仅仅是收到零件的最近一年。每一行只有零件号和收货年份。零件号只清楚地列出一次。

我正试图将收据年份列粘到原始STOCK表上,以仅报告收到零件的年份。我不想更改STOCK表中的原始数据,只需根据PART NUMBER的匹配向每行添加收货年份。下面是我的select语句:

SELECT DISTINCT STOCK.Project, STOCK.[Part Id], STOCK.Warehouse, STOCK.Location, RECEIPTS.Year from STOCK LEFT JOIN RECEIPTS on STOCK.[Part Id] = RECEIPTS.ITEM_ID GROUP BY STOCK.Project, STOCK.[Part Id], STOCK.Warehouse, STOCK.Location, RECEIPTS.Year;

不幸的是,我的查询一直在复制收据表中每个可用年份的行,如下所示:

Proj        Part Id         Whse_ID Loc         Receipt_Year
A198.730    5962-9313101MPA 770 GFMSTK-116B2    2004
A198.730    5962-9313101MPA 770 GFMSTK-116B2    2005
A198.730    5962-9313101MPA 770 GFMSTK-116B2    2006
A198.730    5962-9313101MPA 770 GFMSTK-116B2    2007
A198.730    5962-9313101MPA 770 GFMSTK-116B2    2009
A198.730    5962-9313101MPA 770 GFMSTK-116B2    2011
A198.730    5962-9313101MPA 770 GFMSTK-116B2    2012
A198.730    5962-9313101MPA 770 GFMSTK-116B2    2013

该5962-部分仅在2004年收到(收据中的单独一行)。

非常感谢任何帮助。谢谢,JM

用一个primer查询解决,该查询首先提取数据上的最大日期记录。

最新更新