计算sql join中的唯一记录

时间:2016-11-29 17:04:13

标签: sql

以下查询给出400条记录,其中20条记录基于UPC相同。换句话说,我想要20个基于UPC的不同记录。我该怎么做?

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

1 个答案:

答案 0 :(得分:0)

那么,根据您的目标,一个解决方案是按tc.UPC分组。

例如:

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

请注意,您需要将聚合函数(MIN()MAX()等)应用于其他所选列,以告诉SQL您希望如何返回该数据。