SQL查询Distinct / Group不工作

时间:2013-03-06 15:45:25

标签: select duplicates left-join

我不是一个非常好的选择陈述工匠,并希望有人可以提供帮助。我有两个制造零件表:

STOCK表中有常备库存。它的所有零件编号都存在于多行中,因为零件分散在多个位置。这是正确的。

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

我正在尝试将Receipt Year列粘贴到原始STOCK表上,以便仅报告收到部件的年份。我不想改变STOCK表中的原始数据,只需根据PART NUMBER上的匹配将收货年份添加到每一行。  这是我的选择声明:

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;

不幸的是,我的查询不断重复RECEIPTS表中每年可用的行,如下所示:

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

仅在2004年收到了5962份(收据中有一行)。

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

1 个答案:

答案 0 :(得分:0)

使用引物查询解决,该查询首先提取数据的最大日期记录。