以下查询给出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
答案 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您希望如何返回该数据。