2013-03-06 78 views
0

我不是一個非常好的選擇語句工匠,並希望有人可以提供幫助。我有兩個製造零件表:SQL查詢獨特/集團不工作

庫存表中有常備庫存。由於零件散佈在多個位置,因此它具有存在於多行中的所有零件編號。這是對的。

RECEIPT表是有人建立的表。這只是收到的最後一年。每一行只是部件號和收據年份。部件號僅列出一次。

我試圖將Receipt Year列粘貼到原始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年收到的只有(在RECEIPTS中有一個不同的行)。

任何幫助,非常感謝。謝謝, JM

回答

0

使用初始化查詢來解決,該查詢首先獲取數據上的最大日期記錄。

+0

這不提供問題的答案。要批評或要求作者澄清,在他們的帖子下留下評論 - 你可以隨時評論你自己的帖子,一旦你有足夠的[聲譽](http://stackoverflow.com/faq#reputation),你將能夠[評論任何帖子](http://stackoverflow.com/privileges/comment)。 – 2013-03-11 13:23:50

+0

對不起,我自己用兩個後續查詢解決了這個問題。第一個查詢使用最大日期抽取數據以消除重複記錄,然後第二個查詢完成我需要的過濾器 – user1349089 2013-04-17 13:29:02