,你可以尝试这样的事情一个:)。 (但是你的结果是否正确?我认为在TRANS_ID中有一点小错误...)
DECLARE @ExampleTable TABLE
(ID INT,
DIST_NO INT,
TRANS_ID INT,
LINE_NO INT,
PRODUCT_ID INT)
INSERT INTO @ExampleTable
(ID, DIST_NO, TRANS_ID,LINE_NO, PRODUCT_ID)
VALUES (102657, 1, 1105365, 1, 109119 ),
(102657, 1, 1105366, 2, 109114 ),
(102657, 2, 1105365, 1, 109119 ),
(102657, 2, 1105366, 2, 109114 ),
(104371, 1, 1190538, 1, 110981 ),
(104371, 2, 1190538, 1, 110981 )
;WITH CTE AS (SELECT DISTINCT ID, LINE_NO
FROM @ExampleTable)
SELECT a.ID,
x.DIST_NO,
x.TRANS_ID,
x.LINE_NO,
x.PRODUCT_ID
FROM CTE a
CROSS APPLY (SELECT TOP 1 *
FROM @ExampleTable f
WHERE a.ID = f.ID AND
a.LINE_NO = f. LINE_NO
ORDER BY DIST_NO DESC) x
编辑你的问题,并在问题中包含样本数据和所需结果*作为文本*。 –
我不能将示例数据添加到我的问题中,因为我需要更高的信誉点,但对于期望的结果,我希望看到 –