2016-11-29 3 views
0

Unter Abfrage gibt 400 Datensatz aus, von denen 20 Datensätze ist identisch auf UPC basiert. Mit anderen Worten, ich möchte 20 verschiedene Datensätze basierend auf UPC. Wie kann ich es tun?Berechnen Sie eindeutige Datensätze in SQL-Join

select tc.ChainID,tc.UPC,tc.SupplierInvoiceNumber,pc.DateTimeCreated 
    from #tmpCompareData tc 
    left join ProductCatalog pc 
    ON tc.ProductID=pc.ProductID 
+1

Haben Sie 'GROUP BY' versucht? – Dragos

+0

Welches DBMS benutzen Sie? –

Antwort

0

Nun, je nachdem, was Sie nach, wäre eine Lösung von tc.UPC zu Gruppe sein.

Zum Beispiel:

SELECT 
    MIN(tc.ChainID), 
    tc.UPC, 
    MIN(tc.SupplierInvoiceNumber), 
    MIN(pc.DateTimeCreated) 
FROM #tmpCompareData tc 
    LEFT JOIN ProductCatalog pc 
ON tc.ProductID = pc.ProductID 
GROUP BY tc.UPC 

Beachten Sie, dass Sie Aggregatfunktionen anwenden müssen (MIN(), MAX(), etc.) zu den anderen ausgewählten Spalten SQL zu sagen, wie Sie diese Daten zurückgeben möchten.

Verwandte Themen