2017-03-07 50 views
0

我正在嘗試爲庫存報告創建一個SQL查詢。到目前爲止,我已經創建了一個SQL查詢,成功返回了唯一的零件號以及它們的描述和現有數量。我想將客戶名稱添加到我的報告中,但由於我們向多個客戶出售部分零件,因此儘管有DISTINCT語句,但添加此零件編號和數量會導致重複。有沒有辦法將結果限制爲僅列出每個零件的客戶?我是SQL新手,所以我想我錯過了一些明顯的東西。這裏是我的查詢:SQL中的重複項

SQL Query

select distinct [Part].[PartNum] as [Part_PartNum] 
    , [Part].[PartDescription] as [Part_PartDescription] 
    , [PartBin].[OnhandQty] as [PartBin_OnhandQty] 
from Erp.Part as Part 
inner join Erp.ShipDtl as ShipDtl on Part.Company = ShipDtl.Company 
          And Part.PartNum = ShipDtl.PartNum 
inner join Erp.PartBin as PartBin on Part.Company = PartBin.Company 
          And Part.PartNum = PartBin.PartNum 
order by Part.PartNum 
+1

將查詢添加爲文本而不是鏈接到圖像 – Jens

+1

添加一些樣本表數據和預期結果。 (同樣格式的文本。) – jarlh

+0

選擇不同 \t [部分]。[PartNum]如[Part_PartNum], \t [部分]。[PartDescription]如[Part_PartDescription], \t [PartBin] [OnhandQty]如[PartBin_OnhandQty ] 從Erp.Part作爲 內部分加入作爲Erp.ShipDtl上ShipDtl \t Part.Company = ShipDtl.Company 而 \t Part.PartNum = ShipDtl.PartNum 內部聯接Erp.PartBin作爲PartBin上 \t部分.Company = PartBin.Company And \t Part.PartNum = PartBin.PartNum order by Part.PartNum –

回答

0

使用的Epicor,我看到...

是否有你所參加的ShipDtl表有原因的,因爲你的選擇語句僅拉回信息從零件和PartBin表?請嘗試以下操作:

SELECT p.PartNum, PartDescription, OnHandQty 
FROM erp.Part AS Part INNER JOIN 
    erp.PartBin AS PartBin ON Part.Company = PartBin.Company and Part.PartNum = PartBin.PartNum 

也請注意,如果你的公司使用多個垃圾箱,你將不得不做的OnHandQty場求和,以獲得總爲那家公司,這也將需要一組聲明。

+0

我最初在查詢中包含了shipdtl,因爲我也試圖拉入Customer名稱。但是,當我拉入客戶表時,由於某些零件被出售給多個客戶,我得到了重複的行。 –

+0

@AliceElizabeth也許我是誤解,但你的提問對我來說並不合適。您試圖從PartBin表中獲取信息,該表存儲庫存信息,但您希望從包含裝運事務的ShipDtl表中提取客戶。看起來你正試圖撤回那些不直接相關的信息。爲了讓一部分進入到ShipDtl表中,您必須根據它削減PO。 PartBin表根據地點劃分您的廣告資源,而不是銷售信息。我想你想合併兩份報告。 – user2572833

+0

哇,我發現這不是一種將「客戶」名稱帶入我的報告的有效方法。我需要重新組合,並找到一個更好的方式引入此客戶信息。謝謝你。 –

0

像下面這樣的東西可能會起作用。它使用子查詢來確定相關零件的相關單個公司。

我假設還有另一張表「公司」,您可能想從中抽取一些公司的詳細信息,而不僅僅是您要加入的「公司」字段。你會看到我剛剛拿到了「最低」公司作爲回報。還有其他方法可以做同樣的事情。您可以改爲從「零件」表中取得最小(或最大或其他)公司。讓我知道你是怎麼辦的。

​​
+0

謝謝,這對了解如何使用Min/Max來獲得優勢非常有用。我想通過一些調整,我可以讓它工作。唉,因爲我是新手,所以我不能投票,但我收到了很多有價值的信息。 –

+0

不用擔心愛麗絲。希望在我的回覆和user2572833的回覆之間,你已經有了解決方案的要素。 –