CREATE TABLE [dbo].[tempSalesOrder]( [DocumentNum] [varchar](20) NOT NULL, [LineNum] [int] NOT NULL, [VersionNum] [int] NOT NULL, [CustomerNum] [varchar](20) NOT NULL,) GOinsert into [dbo].[tempSalesOrder]( [DocumentNum],[LineNum], [VersionNum], [CustomerNum])Values( 'SO-1234', '1', '1', '108'),( 'SO-1234', '1', '2', '108'),( 'SO-1234', '2', '1', '108'),( 'SO-1234', '2', '2', '108'),( 'SO-1234', '2', '3', '108'),( 'SO-1234', '2', '4', '108'),( 'SO-1234', '3', '1', '108')Select * from [dbo].[tempSalesOrder];

[DocumentNum],[LineNum], [VersionNum], [CustomerNum]SO-1234 1 2 108SO-1234 2 4 108SO-1234 3 1 108

SELECT DocumentNum, LineNum, VersionNum, CustomerNumFROM( SELECT DocumentNum, LineNum, VersionNum, CustomerNum ,rn=ROW_NUMBER() OVER (PARTITION BY DocumentNum, LineNum ORDER BY VersionNum DESC) FROM tempSalesOrder) aWHERE rn=1;