Спасибо за ответы на мой предыдущий вопрос. Я надеюсь, что все в порядке, но у меня теперь есть другой вопрос:Объединение 3 таблиц и группировка по максимальному значению столбца
Теперь меня попросили продлить то, что я делаю, чтобы включить конвертацию GrossCost, которая хранится в местной валюте, в базовую валюту GBP ,
У меня есть SQL для обеих частей по отдельности, но не знаю, как их объединить. Эти две части:
Получить сумму GrossCost для каждой компании:
Select Cast(ROW_NUMBER() OVER (ORDER BY Sum(JobCosting.PurchaseOrderItems.GrossCost) Desc) AS Int) As 'RowNum', Admin.Companies.UniqueName As 'UN', Sum(JobCosting.PurchaseOrderItems.GrossCost) As 'DonutValue' From Admin.Companies Inner Join JobCosting.PurchaseOrders On Admin.Companies.CompanyId = JobCosting.PurchaseOrders.SupplierCompanyId Inner Join JobCosting.PurchaseOrderItems On JobCosting.PurchaseOrders.PurchaseOrderId = JobCosting.PurchaseOrderItems.PurchaseOrderId Where UniqueName Like 'HH %' Group By UniqueName Order By 'DonutValue' Desc
Получить Conversion курс валюты для каждой валюты. Конверсия - это GrossCost * Обменный курс для соответствующей валюты. Это Обменный курс SQL (предоставляемые SQLGRL - еще раз спасибо):
SELECT * FROM (SELECT CompanyId, UniqueName,CurrencyCode,ExchangeRate,FromCurrencyID, ToCurrencyId, ActiveDate, rank() OVER (partition BY UniqueName,Admin.Currencies.CurrencyId ORDER BY ActiveDate DESC) AS Rank FROM Admin.Companies INNER JOIN Admin.Currencies ON Admin.Companies.CurrencyId = Admin.Currencies.CurrencyId INNER JOIN Admin.CurrencyRates ON Admin.Currencies.CurrencyId = Admin.CurrencyRates.FromCurrencyId WHERE Admin.CurrencyRates.ToCurrencyId = 47) ci
WHERE ci.Rank = 1
Что мне нужно сделать, это в конечном итоге с объединенным SQL, который получает все те же строки назад и вычисляет преобразованное значение суммы GrossSales для каждой компании.
Снова любая помощь была бы очень благодарна полученной, так как я действительно застрял.
Заранее спасибо
Большое спасибо за это, это дает мне именно то, что мне нужно. – enCue
Задача продлилась после вашей помощи, и я снова застрял. Любая помощь будет получена с благодарностью. – enCue