我有2张桌子
a)在col1唯一值上标准化表格
col1 col2 col3 col4 col5
10 j u c z
20 r y b k
b)表具有来自
的col1的多个值col1 col2 col3 col4 col5
10 l m k j
10 3 4 5 7
10 b v c b
20 a s d c
当我运行查询时,我的结果显示了表格b中的多个条目。我需要按col1进行分组,但分组后会显示一条消息ORA-00979:不是GROUP BY表达式
Select cec.CLAIMNUM , cec.CLAIMNUM, cec.CLAIMID, cec.PROVIDERID, cec.PHYSICIANNAME,cec.PATIENTID ,cec.PATIENTFIRSTNAME || ' '||cec.PATIENTLASTNAME , cec.TOTALCHARGES ,
(Select Sum(TO_NUMBER (VALUESTRING)) from PRICINGMSGS pr where pr.CLAIMNUM = cec.CLAIMNUM and errorcode = 610000) as UCR,
(SELECT Sum(SUBSTR(VALUESTRING, INSTR(VALUESTRING, '|')+1 ) )
FROM PRICINGMSGS p where p.CLAIMNUM =cec.CLAIMNUM and errorcode = 610001)AS Medicare
from CECLAIMS cec ,PRICINGMSGS price where
cec.CLAIMNUM = price.CLAIMNUM and
cec.ACCTNUMBER = price.ACCTNUMBER and
cec.ACCTNUMBER ='TEST0001'
group by cec.CLAIMNUM
答案 0 :(得分:1)
在查询中,您正在select子句中使用cec.claimnum
(位于group by
中)以外的列。
请记住一条规则,如果您在查询中使用group by
,则只能直接在columns
中使用的select
子句中使用group by
。所有其他列必须与aggregate
函数一起使用。
SELECT COL1,
COL2,
AGGREGATE_FUNCTION(COL3) AS COL3,
...
FROM YOUR TABLE
GROUP BY COL1, COL2
干杯!