sql - Oracle在2个表查询中只选择一个非重复项
问题描述
我有 2 张桌子
a) 在 col1 唯一值上标准化表
col1 col2 col3 col4 col5
10 j u c z
20 r y b k
b) 表有多个 col1 值来自 a
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: not a GROUP BY expression
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
解决方案
在您的查询中,您在 select 子句中使用了cec.claimnum
(在 中)以外的列。group by
请记住一条规则,如果您group by
在查询中使用,那么您只能columns
直接select
使用 in 中使用的 in 子句group by
。所有其他列必须与aggregate
函数一起使用。
SELECT COL1,
COL2,
AGGREGATE_FUNCTION(COL3) AS COL3,
...
FROM YOUR TABLE
GROUP BY COL1, COL2
干杯!!
推荐阅读
- c# - 突然我在不能为空的隐藏字段上遇到错误
- python - 在 Windows 中自动重启 Python 脚本
- java - 如何在java中附加带有前缀和后缀的句子?
- javascript - 如何使文本在Javascript中淡入淡出不同的句子?
- flutter - 如何在颤振中使用 Image.file 小部件
- php - 如何按多对多关系排序 Laravel Eloquent
- python - 在 matplotlib 3D 图中实现平移
- flutter - Flutter 中的 ScrollToRowAtIndex 等价物
- google-cloud-platform - 从 Google Cloud Storage 下载数据的更好方法?
- azure-active-directory - “AADSTS900144:请求正文必须包含以下参数:'grant_type'。?