2014-02-22 25 views
0

我對這個問題深表嚴重...... 我有一個包含3個鏈接表的MS Query,返回多個結果。我需要限制他們到最近的條目,因爲數據太大,無法導入到Excel中。這是當前正在使用的SQL的副本。我需要消除所有,但根據現場inventory.lastissuedate只返回包含多個鏈接表的數據庫查詢中的最新條目

SELECT invbalances.itemnum 
    , invbalances.curbal 
    , inventory.maxlevel 
    , a_inventory52.minlevel 
    , inventory.sstock 
    , inventory.deliverytime 
    , inventory.category 
    , inventory.lastissuedate 
FROM MX7PROD.dbo.a_inventory52 a_inventory52 
    , MX7PROD.dbo.invbalances invbalances, MX7PROD.dbo.inventory inventory 
WHERE invbalances.itemnum = inventory.itemnum 
AND a_inventory52.itemnum = invbalances.itemnum 
AND ((inventory.category<>'cstk' 
And inventory.category<>'ns' 
And inventory.category<>'nore' 
And inventory.category<>'sp')) 
+0

最近由哪個字段的最新/最高值決定? –

回答

0

嘗試在末尾添加這個最新的條目:

AND inventory.lastissuedate = 
(SELECT MAX(lastissuedate) FROM MX7PROD.dbo.inventory) 
+0

這工作。謝謝。現在我遇到了另一個問題,其中有與確切的最終發行日期不匹配庫存收據的條目。我試圖找到另一個獨特的領域來消除這些。 – user3341199

+0

@ user3341199樂意幫忙。請考慮接受和/或投票我的答案,如果它解決了你的問題。另外,如果您還有其他問題,最好將其作爲新問題發佈,而不是在評論中發佈,以便獲得關注。 – jpw

+0

我已經設法縮小了結果集,但事實證明比我想象的要複雜得多。我需要每個地點的每個itemnum的最近curbal。通過使用lastissuedate我實際上只獲得整個股票中最近的交易。還有什麼建議?我將發佈當前的代碼。 – user3341199

0

編輯使用表invbalances.location的位置字段。

這會將您的數據限制在curbal是給定項目和位置的最後一個curbal的行。

SELECT invbalances.itemnum, 
     invbalances.curbal, 
     inventory.maxlevel, 
     a_inventory52.minlevel, 
     inventory.sstock, 
     inventory.deliverytime, 
     inventory.category, 
     inventory.lastissuedate 
    FROM MX7PROD.dbo.a_inventory52 a_inventory52, 
     MX7PROD.dbo.invbalances invbalances, 
     MX7PROD.dbo.inventory  inventory 
WHERE invbalances.itemnum = inventory.itemnum 
    AND a_inventory52.itemnum = invbalances.itemnum 
    AND inventory.category <> 'cstk' 
    And inventory.category <> 'ns' 
    And inventory.category <> 'nore' 
    And inventory.category <> 'sp' 
    and invbalances.curbal = 
     (SELECT MAX(x.curbal) 
      FROM MX7PROD.dbo.inventory x 
     where x.itemnum = invbalances.itemnum 
      and x.location = invbalances.location) 
+0

編輯爲最後的curbal。這就是爲什麼我問什麼領域確定了「最近」記錄的方式。除非你告訴我們,否則我們無法知道。 –

相關問題