Прямоугольный оператор выбора агрегата У меня возникают проблемы. неПрисоединение к другой таблице в выражении выбора Выводы Неправильные более высокие итоговые значения агрегата
Когда я первый запустить этот запрос, никаких проблем:
SELECT distinct
t2.primary_insurance [Primary Insurance]
,COUNT(t2.account_number) [Volume]
,SUM(t2.los) [Total LOS]
,AVG(t2.los) [Avg LOS]
,AVG(t1.drg_cost_weight) [Avg CMI]
,sum(t2.total_charges) [Total Charges]
,sum(-t2.insurance_receipts) [Total Receipts]
FROM
[table1] t1
LEFT OUTER join
[table2] t2
on t1.account_number = t2.account_number
GROUP BY
t2.primary_insurance
order by
[Primary Insurance]
Но как только я добавляю Таблица3 агрегировать это данные, он возвращает другой [Volume] всего, что делает все другие итоговые неправильно.
SELECT distinct
t2.primary_insurance [Primary Insurance]
,COUNT(t2.account_number) [Volume]
,SUM(t2.los) [Total LOS]
,AVG(t2.los) [Avg LOS]
,AVG(t1.drg_cost_weight) [Avg CMI]
,sum(t2.total_charges) [Total Charges]
,sum(-t2.insurance_receipts) [Total Receipts]
,sum(t3.[direct_cost]) [Direct Cost]
,sum(t3.[indirect_cost])[Indirect Cost]
,sum((t3.[direct_cost] + t3.[indirect_cost])) [Total Cost]
,sum((-t2.insurance_receipts - t3.[direct_cost])) [Contribution Margin]
,sum((-t2.insurance_receipts - (t3.[direct_cost] + CR.[indirect_cost]))) [Profit]
from
[table1] t1
LEFT OUTER join
[table2] t2
on t1.account_number = t2.account_number
JOIN
[table3] t3
on t2.[account_number] = t3.[account_number]
GROUP BY
t2.primary_insurance
order by
[Primary Insurance]
Я попытался присоединиться различные способы и, но получаю тот же надутый общий объем и я не могу получить общий объем от первоначального запроса (правильный общего объема). Чтобы быть ясным, проблема в том, что второй запрос дает мне общий объем, который превышает общий объем от первого запроса. Более высокая общая сумма дает мне более высокие итоговые значения для всего остального.
Я также попытался использовать подзапрос для данных таблицы3, но также не могу получить это право.
Два запроса идентичны, за исключением добавления таблицы 3 и суммирования различных данных из этой таблицы. Запрос не выдает ошибку, просто дает неверный итог.
Использование SQL Server 2008
Любой вход или предложения очень ценятся!
Вы уверены, что хотите присоединиться к t3.account_number с t2.account_number. – DevelopmentIsMyPassion
попробуйте сделать t1. [Account_number] = t3. [Account_number] – DevelopmentIsMyPassion