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;
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
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;