我不是一个很好的选择语句的工匠,希望有人可以帮助。我有两个制造零件表:
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查询解决,该查询首先提取数据上的最大日期记录。