Question

I need to query my database and bring this back:

| Policy Num | Coverage Code |

My current query returns everything for the year 2014 ( i.e. A row for each claim number with the attached coverage code)

SELECT SCHEMA.TABLE.POLICY_NUMBER, P_FAR_BI_VW.V_CLAIM_SERVICE_TYP_DIM.COVERAGE_TYP_CDE

FROM

SCHEMA.TABLE

INNER JOIN SCHEMA.TABLE ON (SCHEMA.TABLE.POLICY_ID=SCHEMA.TABLE.POLICY_ID)

INNER JOIN SCHEMA.TABLE ON (SCHEMA.TABLE.SERVICE_TYPE_ID=SCHEMA.TABLE.SERVICE_TYPE_ID)

INNER JOIN SCHEMA.TABLE ON (SCHEMA.TABLE.FISCAL_PERIOD_ID=SCHEMA.TABLE.FISCAL_PERIOD_ID AND SCHEMA.TABLE.YEAR_NUM = 2014)

I have tried a few different ways of querying but I can't seem to get it to work. I have tried:

SELECT distinct(SCHEMA.TABLE.POLICY_NUMBER), SCHEMA.TABLE.COVERAGE_TYP_CDE

Inner Joins

group by SCHEMA.TABLE.COVERAGE_TYP_CDE

and other various ideas. The Error I am getting in return is: Selected non-aggregate values must be part of the associated group

I know there must be away to

Was it helpful?

Solution

Your select items must all be in your group by

SELECT distinct(SCHEMA.TABLE.POLICY_NUMBER)
     , SCHEMA.TABLE.COVERAGE_TYP_CDE

/* INNER JOINS */

GROUP BY  SCHEMA.TABLE.POLICY_NUMBER
       ,  SCHEMA.TABLE.COVERAGE_TYP_CDE;
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top