Вы можете использовать ROW_NUMBER()
для ранжирования записей по возрастанию T1.DocDate
во внутреннем запросе, а затем выбрать самый старый во внешнем запросе:
Select *
From (
Select
T0.ItemCode,
T0.OpenQty as 'Qty',
T1.DocDate,
T1.DocNum,
T1.CardCode,
T1.SlpCode as 'Sales Person',
T0.WhsCode,
Row_Number() Over(Order By T1.DocDate) rn
From RDR1 T0
Inner Join ORDR T1 on T0.DocEntry = T1.DocEntry
Where T0.linestatus = 'O'
) x
Where rn = 1
Это даст вам самую старую запись вТаблица. Если вам нужно получить самую старую запись для каждой группы, вы можете добавить предложение PARTITION BY
к функции ROW_NUMBER()
.
Примечание: здесь также предполагается, что T1.DocDate
относится к типу данных, похожему на дату, что, кажется, (и должно быть) имело место при рассмотрении ваших данных выборки.