2016-08-18 3 views
0
SELECT fp.Physician_Key, 
     fp.Month, 
     pd.DisplayName, 
     hd.ProductName, 
     SUM(AmtPaid) AS TotalCost 
FROM F_ProgramCost_Fact fp 
INNER JOIN D_HEALTHPLANDim hd ON hd.HealthPlan_Key = fp.HealthPlan_Key 
INNER JOIN D_PHYSICIANDim pd ON fp.Physician_Key = fp.Physician_Key 
INNER JOIN F_MemberPatient_FactLess mpf ON fp.MemberPatientFact_Key = mpf.MemberPatientFact_Key 
GROUP BY fp.Physician_Key 

Получение этой ошибки «Колонка„F_ProgramCost_Fact.Month“недопустим в списке выбора, поскольку он не содержится ни в статистической функции или предложения GROUP BY.»Следующий код SQL бросает ошибку

Пожалуйста, помогите! Благодаря

+0

Как вы 'SUM'ming, как вы ожидаете SQL двигатель hangle различных значений для' столбца F_ProgramCost_Fact.Month'? А как насчет других колонок? Вы должны добавить их в 'GROUP BY', чтобы вы получили' SUM' по каждой комбинации других столбцов. – PauloASilva

ответ

0

вам нужно сгруппировать по всем столбцам:

select fp.Physician_Key,fp.Month,pd.DisplayName,hd.ProductName,SUM(AmtPaid) as TotalCost 
From F_ProgramCost_Fact fp 
Inner Join D_HEALTHPLANDim hd 
ON hd.HealthPlan_Key = fp.HealthPlan_Key 
Inner join D_PHYSICIANDim pd 
ON fp.Physician_Key = fp.Physician_Key 
Inner Join F_MemberPatient_FactLess mpf ON fp.MemberPatientFact_Key = mpf.MemberPatientFact_Key 
Group By fp.Physician_Key,fp.Month,pd.DisplayName,hd.ProductName 
+0

Спасибо, что помогли мне! –

Смежные вопросы