У меня есть такой выбор:
SELECT
FORMAT(AVG([DC].[ContractedAmount]) , '$###,###,###,###.##') AS [AverageContractedAmount]
FROM
[DesignCustomer] AS [DC]
INNER JOIN
[Design] AS [D] ON [DC].[DesignKey] = [D].[DesignKey]
INNER JOIN
[Task] AS [T] ON [D].[DesignKey] = [t].[DesignKey]
INNER JOIN
[ProjectDesign] AS [PD] ON [D].[DesignKey] = [PD].[DesignKey]
INNER JOIN
[Project] AS [P] ON [PD].[ProjectKey] = [P].[ProjectKey]
INNER JOIN
[Address] AS [A] ON [A].[AddressGuid] = [P].[ProjectGuid]
Как видите, я получаю Average
Контрактной суммы.Я получаю что-то вроде этого:
+---------------------------+
| [AverageContractedAmount] |
+---------------------------+
| $1,000.00 |
+---------------------------+
Теперь я хочу получить проект, который ближе к этому значению
Например, если у меня есть 5 проектов в таблице проектов, как:
+----------------+
| ProjectName |
+----------------+
| First Project |
| Second Project |
| Third Project |
| Four Project |
| Five Project |
+----------------+
Отношение [DC]
к проекту выглядит примерно так:
+----------------+------------------+
| ProjectName | ContractedAmount |
+----------------+------------------+
| First Project | 500 |
| Second Project | 700 |
| Third Project | 300 |
| Four Project | 950 |
| Five Project | 800 |
+----------------+------------------+
Я хочу, чтобы запрос возвратил Four Project Name
, поскольку его значение ContractedAmount
ближе всего к AVG
значение.Как мне этого добиться?Привет