2

私は SQL を初めて使用し、別のフィールドで重複が見つかった場合に最も新しいエントリのみを返す Excell レポートをまとめようとしています。

SELECT distinct [Barcode]
      ,[Code]
      ,[Description]
      ,[TransactionType]
      ,[Date]
      ,[From Qty]
      ,[DocumentReference]
      ,[DocumentNumber]
      ,[Site]
  FROM [GRANITE].[dbo].[Report_App_Transactions]where TransactionType='pick'

私の目的は、「バーコード」で重複を見つけ、「日付」に従って最も若い値のみを返すことです

4

1 に答える 1

1
select * 
from [GRANITE].[dbo].[Report_App_Transactions] r1
inner join 
(
    select barcode, max(date) as mdate
    from [GRANITE].[dbo].[Report_App_Transactions]
    group by barcode
) r2 on r1.barcode = r1.barcode and r2.mdate = r1.date
where r1.TransactionType='pick'
于 2013-06-05T09:53:49.997 に答える