Я пытаюсь Выбрать данные, которые "ACCOUNT NAME DR" не ДУБЛИРОВАНЫ, но если их дублируют. Мы будем выбирать, основываясь на самом высоком "Credit USD", но они все равно будут дублироваться, если они содержат более одного из самых высоких "Credit USD"с той же суммой Итак, я попытался выбрать на основе других полей, то есть «TnxDate», но он все еще дублируется, когда дата «Credit USD» совпадает. У меня есть другое поле, которое УНИКАЛЬНО «транзакция», но я могуне применять условие GROUP BY, когда я выбираю данные из всех полей.
Я работаю в Excel 2013
Select m.* FROM
(
SELECT j.* from
(
SELECT ori.* FROM [FT_Pure$] as ori
INNER JOIN
(
SELECT max(TxnDate) as txDate, [account name dr], [credit usd] from
(
SELECT t.TxnDate, t.[account name dr], t.[credit usd] FROM
(
select [account name dr], max([credit usd]) as max_c from [FT_Pure$] GROUP BY [account name dr]
) as a
INNER JOIN [FT_Pure$] as t
on
(
t.[account name dr] = a.[account name dr] and t.[credit usd] = max_c
)
) as ta group by ta.[account name dr], [credit usd]
) as pro
ON
(
ori.[account name dr] = pro.[account name dr] and ori.[credit usd] = pro.[credit usd] and ori.TxnDate = pro.TxDate
) ORDER BY ori.[CREDIT USD] DESC) as j where j.[account name cr] NOT LIKE '%' + j.[account name dr] + '%') as m
Я ожидаю, что на выходе должно быть "имя учетной записи dr" ссамый высокий "CREDIT USD", и он не дублируется, даже если он содержит несколько самых высоких "CREDIT USD", он должен возвращать только одну строку самого высокого.