2017-03-04 1 views
-2

이 선택에서는 "BimeName.IssueDate"필드로 그룹화하고 싶지 않으며 어떻게해야할지 모르겠다. 이 필드를 GroupBy 절에 지정하지 않으면 오류가 발생합니다. 그것은가 집계 함수 나 GROUP BY 절 중 하나에 포함되지 않기 때문에GroupBy 절에 필드가 없을 때 필드를 선택하는 방법

메시지 8120, 수준 16, 상태 1, 줄 2 열 'BimeName.IssueDate'는 선택 목록에서 유효 입니다.

제발 도와주세요!

SELECT 
     BimeName.IssueDate, 
     sum(BimeName.Premium) as Permium, 
     TypeOfInsurances.TypeOfInsurance + ' ' + 
     InsuranceKinds.KindOfInsurance as KindOfInsurance, 
     InsuranceAgents.NameOfInsurance, 
     InsuranceAgents.Representation + ' ' + 
     InsuranceAgents.AgentCode as Agent 
from  
     BimeName 
     Inner Join InsuranceKinds ON InsuranceKinds.Id = BimeName.KindOfInsuranceId 
     Inner Join TypeOfInsurances ON TypeOfInsurances.Id = InsuranceKinds.TypeOfInsuranceId 
     Inner Join InsuranceAgents ON InsuranceAgents.Id = TypeOfInsurances.InsuranceAgentId 
where 
     BimeName.IssueDate BETWEEN '2010-01-01' AND '2017-01-30' 
group by InsuranceAgents.Representation, InsuranceAgents.NameOfInsurance, InsuranceAgents.AgentCode , BimeName.IssueDate , TypeOfInsurances.TypeOfInsurance , InsuranceKinds.KindOfInsurance 
+0

다른 필드에 그룹으로 프리미엄을 적용하고 싶습니다. 덕분에 –

+0

그럼 그냥 선택 조항에서 날짜를 꺼내십시오 –

+0

여기에 문제는 날짜가 내 where 구문에 있기 때문입니다. 내 코드를 검토하십시오! –

답변

1

내가 선택한 것처럼 날짜 입력란을 생략하면됩니다.

SELECT 
     sum(BimeName.Premium) as Permium, 
     TypeOfInsurances.TypeOfInsurance + ' ' + 
     InsuranceKinds.KindOfInsurance as KindOfInsurance, 
     InsuranceAgents.NameOfInsurance, 
     InsuranceAgents.Representation + ' ' + 
     InsuranceAgents.AgentCode as Agent 
from  
     BimeName 
     Inner Join InsuranceKinds ON InsuranceKinds.Id = BimeName.KindOfInsuranceId 
     Inner Join TypeOfInsurances ON TypeOfInsurances.Id = InsuranceKinds.TypeOfInsuranceId 
     Inner Join InsuranceAgents ON InsuranceAgents.Id = TypeOfInsurances.InsuranceAgentId 
where 
     BimeName.IssueDate BETWEEN '2010-01-01' AND '2017-01-30' 
group by 
     InsuranceAgents.Representation, 
     InsuranceAgents.NameOfInsurance, 
     InsuranceAgents.AgentCode, 
     TypeOfInsurances.TypeOfInsurance, 
     InsuranceKinds.KindOfInsurance 

그룹 기준이 아닌 where 절에 필드를 포함 할 수 있습니다.

0

아무 의미가 없습니다. 동일한 그룹에 BimeName.IssueDate 필드에 다른 값이 있다고 가정하면 해당 카테고리에 대해 어떤 값을 선택해야합니까? 다시 그것에 대해 생각해야합니다.

+0

도움 주셔서 감사합니다 –

관련 문제