2017-02-12 33 views
-1

我需要消除重複的ID。我已經嘗試了下面的代碼,但是當我使用它時,它不會讓我看到任何東西。當我使用加入時的DisticENT ID

Select disticnt i.id,b.barcode,i.code,i.name,i.price 
from inventory i 
join barcodes b on i.id=b.id 

的問題是,我得到相同的ID,因爲我有很多不同的條形碼在一個ID fixs。我怎樣才能消除重複的ID

Here is an image of my data

+0

您可以共享表格的結構,一些示例數據以及您試圖獲得的結果嗎? – Mureinik

+0

你可以'由i.id'分組?但是你將面臨的問題是 - 你真正想要的是哪一個正確的條形碼記錄? – Gravy

+0

當我試着這個我得到這個錯誤列'b.BarCode'在選擇列表無效,因爲它不包含在聚合函數或GROUP BY子句。而其餘的我的列相同 – Dim1

回答

0

的問題是,條形碼錶可能有多個排在庫存表中的每個ID。爲了只從庫存表中獲得一條記錄,您首先需要確定您想要爲每個具有多個條形碼的ID獲取哪些條形碼。一種方法是使用group by by max或min:

SELECT i.id, 
     MAX(b.barcode) as barcode, 
     i.code, 
     i.name, 
     i.price 
FROM inventory i 
JOIN barcodes b on i.id=b.id 
GROUP BY i.id, i.code, i.name, i.price 
相關問題