Всем доброго утра!
У нас есть таблица, показывающая клиентов, их склады и дату последнего изменения их записи. Моя задача найти самый последний номер клиента для конкретного склада. Большинство из них не изменились, но есть довольно много, которые изменились. Я создал приведенный ниже запрос, который отлично работает, чтобы найти дату последнего изменения для всех складов в моей таблице.
Select
WHS,
Max(AMENDT) As MAX_AMENDT
From
MBC6REVQ
Group By
WHS
Order By
WHS,
Max(Distinct (Select
Max(MAX_AMENDT)
From
MBC6REVQ
Group By
MBC6REVQ.WHS
Fetch First
1 Rows Only)) Desc
У меня проблема в том, что теперь мне нужно добавить номер клиента и присоединиться к моей таблице клиентов, чтобы получить имя клиента. Простое добавление поля CUSNO приводит к ошибке, поэтому мне нужно добавить CUSNO в «группировать по». Это дает мне несколько записей для каждого склада. Мои данные выглядят так:
WHS AMENDT
A01 1150101
A01 1130704
A02 1141030
A07 1071101
A10 1020905
.. поэтому запрос правильно возвращает:
WHS AMENDT
A01 1150101
A02 1141030
A07 1071101
A10 1020905
Мне нужно добавить столбец CUSNO, потому что номер клиента изменился. Тогда мой запрос выглядит так:
Select
WHS,
CUSNO,
Max(AMENDT) As MAX_AMENDT
From
MBC6REVQ
Group By
WHS, CUSNO
Order By
WHS,
Max(Distinct (Select
Max(AMENDT)
From
MBC6REVQ
Group By
MBC6REVQ.WHS
Fetch First
1 Rows Only)) Desc
... и возвращает:
WHS CUSNO AMENDT
A01 1003 1150101
A01 1056 1130704
A02 1011 1141030
A07 1169 1071101
A10 1012 1020905
... когда мне нужно иметь:
WHS CUSNO AMENDT
A01 1003 1150101
A02 1011 1141030
A07 1169 1071101
A10 1012 1020905
Кто-нибудь может помочь? Это сводит меня с ума!!! Любая помощь приветствуется!
заранее спасибо
Мэтт