其中from中第四段查询语句 O.AREA_CODE ORA-00904 识别不到……
哪位能告诉我怎么改一下实现整个查询功能?不胜感激……
SELECT MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_1', FORM_DIC_VALUE, NULL)) 机构总数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_2', FORM_DIC_VALUE, NULL)) 政府主办设置数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_3', FORM_DIC_VALUE, NULL)) 个人主办设置数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_4', FORM_DIC_VALUE, NULL)) 其他实体主办设置数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_5', FORM_DIC_VALUE, NULL)) 辖区内中心卫生院数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_6', FORM_DIC_VALUE, NULL)) 建制乡镇卫生院数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_7', FORM_DIC_VALUE, NULL)) 涉农街道社区卫生服务中心数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_8', FORM_DIC_VALUE, NULL)) 开展基本药物制度数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_9', FORM_DIC_VALUE, NULL)) 实施基本药物财政补助,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_10', FORM_DIC_VALUE, NULL)) 辞职或自谋职业,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_11', FORM_DIC_VALUE, NULL)) 实行岗位绩效工资制数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_12', FORM_DIC_VALUE, NULL)) 在编人员月平均绩效工资收入,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_13', FORM_DIC_VALUE, NULL)) 基础工资,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_14', FORM_DIC_VALUE, NULL)) 奖励工资,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_15', FORM_DIC_VALUE, NULL)) 实行人员聘任制数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_16', FORM_DIC_VALUE, NULL)) 开展人员分流数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_17', FORM_DIC_VALUE, NULL)) 拟分流人员数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_18', FORM_DIC_VALUE, NULL)) 实行岗位绩效考核制度数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_19', FORM_DIC_VALUE, NULL)) 实行收支两条线管理,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_20', FORM_DIC_VALUE, NULL)) 财政部门统收统支,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_21', FORM_DIC_VALUE, NULL)) 卫生部门统收统支,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_22', FORM_DIC_VALUE, NULL)) 完成竞聘上岗,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_23', FORM_DIC_VALUE, NULL)) 上一年度门急诊次均费用,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_24', FORM_DIC_VALUE, NULL)) 上一年度住院次均费用,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_25', FORM_DIC_VALUE, NULL)) 提前退休,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_26', FORM_DIC_VALUE, NULL)) 办理病退,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_27', FORM_DIC_VALUE, NULL)) 轮岗待聘,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_28', FORM_DIC_VALUE, NULL)) 注册资金,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_29', FORM_DIC_VALUE, NULL)) 固定资产总值,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_30', FORM_DIC_VALUE, NULL)) 屋资产总值,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_31', FORM_DIC_VALUE, NULL)) 设备仪器资产总值,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_32', FORM_DIC_VALUE, NULL)) 上一年度门急诊总人次,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_33', FORM_DIC_VALUE, NULL)) 上一年度住院总人次,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_34', FORM_DIC_VALUE, NULL)) 上一年度总收入,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_35', FORM_DIC_VALUE, NULL)) 业务收入,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_36', FORM_DIC_VALUE, NULL)) 上级拨款,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_37', FORM_DIC_VALUE, NULL)) 其他收入,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_38', FORM_DIC_VALUE, NULL)) 列入职工基本医疗保险定点机构数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_39', FORM_DIC_VALUE, NULL)) 列入新农合定点机构数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_40', FORM_DIC_VALUE, NULL)) 医疗机构实施一体化管理机构数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_41', FORM_DIC_VALUE, NULL)) 政府无偿提供房屋的机构数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_42', FORM_DIC_VALUE, NULL)) 自建房屋机构数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_43', FORM_DIC_VALUE, NULL)) 房屋租赁机构数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_44', FORM_DIC_VALUE, NULL)) 由政府提供租赁资金机构数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_45', FORM_DIC_VALUE, NULL)) 编制床位数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_46', FORM_DIC_VALUE, NULL)) 实有床位数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_47', FORM_DIC_VALUE, NULL)) 观察输液躺椅数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_48', FORM_DIC_VALUE, NULL)) 设置中医诊室机构数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_49', FORM_DIC_VALUE, NULL)) 设置中药房机构数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_50', FORM_DIC_VALUE, NULL)) 房屋建筑面积,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_51', FORM_DIC_VALUE, NULL)) 业务用房面积,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_52', FORM_DIC_VALUE, NULL)) 完成编制核定工,
MAX(DECODE(O.ORG_NAME, O.ORG_NAME, O.ORG_NAME, NULL)) 地区名,
C.* FROM FORM_DATA F,
REPORT_RECORD R,
ORGANIZATION O,
(
SELECT SUM(DECODE(T.DIC_NAME, 'ORG_ITEM_20', T.FORM_DIC_VALUE, 0)) 核定编制人数,
SUM(DECODE(T.DIC_NAME, 'ORG_ITEM_21', T.FORM_DIC_VALUE, 0)) 实有人数,
SUM(DECODE(T.DIC_NAME, 'ORG_ITEM_22', T.FORM_DIC_VALUE, 0)) 编制内人数,
SUM(DECODE(T.DIC_NAME, 'ORG_ITEM_23', T.FORM_DIC_VALUE, 0)) 编制外人数,
SUM(DECODE(T.DIC_NAME, 'ORG_ITEM_24', T.FORM_DIC_VALUE, 0)) 卫生专业技术人员数,
SUM(DECODE(T.DIC_NAME, 'ORG_ITEM_63', T.FORM_DIC_VALUE, 0)) 在岗人数,
SUM(DECODE(T.DIC_NAME, 'ORG_ITEM_64', T.FORM_DIC_VALUE, 0)) 不在岗人数,
SUM(DECODE(T.DIC_NAME, 'ORG_ITEM_65', T.FORM_DIC_VALUE, 0)) 正常到龄退休人数,
SUM(DECODE(T.DIC_NAME, 'ORG_ITEM_83', T.FORM_DIC_VALUE, 0)) 已分流安置人数
FROM FORM_DATA T, REPORT_RECORD R
WHERE R.FORM_ID = 37
AND R.PERIOD_ID = 120
AND R.RECORD_FLAG = 3
AND R.ORGANIZATION_ID IN
(SELECT OO.ID
FROM ORGANIZATION OO
WHERE OO.IS_OPEN = 1
START WITH OO.AREA_CODE = O.AREA_CODE
CONNECT BY OO.PARENT_ID = PRIOR OO.ID)
AND R.RECORD_ID = T.RECORD_ID
) C
WHERE F.RECORD_ID = R.RECORD_ID
AND R.ORGANIZATION_ID = O.ID
AND R.FORM_ID = 58
AND R.PERIOD_ID = 120
AND R.RECORD_FLAG = 3
AND O.PARENT_ID = 3509
AND O.IS_OPEN = 0
哪位能告诉我怎么改一下实现整个查询功能?不胜感激……
SELECT MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_1', FORM_DIC_VALUE, NULL)) 机构总数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_2', FORM_DIC_VALUE, NULL)) 政府主办设置数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_3', FORM_DIC_VALUE, NULL)) 个人主办设置数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_4', FORM_DIC_VALUE, NULL)) 其他实体主办设置数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_5', FORM_DIC_VALUE, NULL)) 辖区内中心卫生院数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_6', FORM_DIC_VALUE, NULL)) 建制乡镇卫生院数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_7', FORM_DIC_VALUE, NULL)) 涉农街道社区卫生服务中心数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_8', FORM_DIC_VALUE, NULL)) 开展基本药物制度数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_9', FORM_DIC_VALUE, NULL)) 实施基本药物财政补助,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_10', FORM_DIC_VALUE, NULL)) 辞职或自谋职业,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_11', FORM_DIC_VALUE, NULL)) 实行岗位绩效工资制数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_12', FORM_DIC_VALUE, NULL)) 在编人员月平均绩效工资收入,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_13', FORM_DIC_VALUE, NULL)) 基础工资,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_14', FORM_DIC_VALUE, NULL)) 奖励工资,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_15', FORM_DIC_VALUE, NULL)) 实行人员聘任制数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_16', FORM_DIC_VALUE, NULL)) 开展人员分流数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_17', FORM_DIC_VALUE, NULL)) 拟分流人员数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_18', FORM_DIC_VALUE, NULL)) 实行岗位绩效考核制度数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_19', FORM_DIC_VALUE, NULL)) 实行收支两条线管理,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_20', FORM_DIC_VALUE, NULL)) 财政部门统收统支,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_21', FORM_DIC_VALUE, NULL)) 卫生部门统收统支,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_22', FORM_DIC_VALUE, NULL)) 完成竞聘上岗,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_23', FORM_DIC_VALUE, NULL)) 上一年度门急诊次均费用,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_24', FORM_DIC_VALUE, NULL)) 上一年度住院次均费用,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_25', FORM_DIC_VALUE, NULL)) 提前退休,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_26', FORM_DIC_VALUE, NULL)) 办理病退,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_27', FORM_DIC_VALUE, NULL)) 轮岗待聘,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_28', FORM_DIC_VALUE, NULL)) 注册资金,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_29', FORM_DIC_VALUE, NULL)) 固定资产总值,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_30', FORM_DIC_VALUE, NULL)) 屋资产总值,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_31', FORM_DIC_VALUE, NULL)) 设备仪器资产总值,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_32', FORM_DIC_VALUE, NULL)) 上一年度门急诊总人次,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_33', FORM_DIC_VALUE, NULL)) 上一年度住院总人次,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_34', FORM_DIC_VALUE, NULL)) 上一年度总收入,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_35', FORM_DIC_VALUE, NULL)) 业务收入,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_36', FORM_DIC_VALUE, NULL)) 上级拨款,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_37', FORM_DIC_VALUE, NULL)) 其他收入,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_38', FORM_DIC_VALUE, NULL)) 列入职工基本医疗保险定点机构数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_39', FORM_DIC_VALUE, NULL)) 列入新农合定点机构数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_40', FORM_DIC_VALUE, NULL)) 医疗机构实施一体化管理机构数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_41', FORM_DIC_VALUE, NULL)) 政府无偿提供房屋的机构数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_42', FORM_DIC_VALUE, NULL)) 自建房屋机构数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_43', FORM_DIC_VALUE, NULL)) 房屋租赁机构数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_44', FORM_DIC_VALUE, NULL)) 由政府提供租赁资金机构数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_45', FORM_DIC_VALUE, NULL)) 编制床位数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_46', FORM_DIC_VALUE, NULL)) 实有床位数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_47', FORM_DIC_VALUE, NULL)) 观察输液躺椅数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_48', FORM_DIC_VALUE, NULL)) 设置中医诊室机构数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_49', FORM_DIC_VALUE, NULL)) 设置中药房机构数,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_50', FORM_DIC_VALUE, NULL)) 房屋建筑面积,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_51', FORM_DIC_VALUE, NULL)) 业务用房面积,
MAX(DECODE(DIC_NAME, 'COLLECT_ITEM_52', FORM_DIC_VALUE, NULL)) 完成编制核定工,
MAX(DECODE(O.ORG_NAME, O.ORG_NAME, O.ORG_NAME, NULL)) 地区名,
C.* FROM FORM_DATA F,
REPORT_RECORD R,
ORGANIZATION O,
(
SELECT SUM(DECODE(T.DIC_NAME, 'ORG_ITEM_20', T.FORM_DIC_VALUE, 0)) 核定编制人数,
SUM(DECODE(T.DIC_NAME, 'ORG_ITEM_21', T.FORM_DIC_VALUE, 0)) 实有人数,
SUM(DECODE(T.DIC_NAME, 'ORG_ITEM_22', T.FORM_DIC_VALUE, 0)) 编制内人数,
SUM(DECODE(T.DIC_NAME, 'ORG_ITEM_23', T.FORM_DIC_VALUE, 0)) 编制外人数,
SUM(DECODE(T.DIC_NAME, 'ORG_ITEM_24', T.FORM_DIC_VALUE, 0)) 卫生专业技术人员数,
SUM(DECODE(T.DIC_NAME, 'ORG_ITEM_63', T.FORM_DIC_VALUE, 0)) 在岗人数,
SUM(DECODE(T.DIC_NAME, 'ORG_ITEM_64', T.FORM_DIC_VALUE, 0)) 不在岗人数,
SUM(DECODE(T.DIC_NAME, 'ORG_ITEM_65', T.FORM_DIC_VALUE, 0)) 正常到龄退休人数,
SUM(DECODE(T.DIC_NAME, 'ORG_ITEM_83', T.FORM_DIC_VALUE, 0)) 已分流安置人数
FROM FORM_DATA T, REPORT_RECORD R
WHERE R.FORM_ID = 37
AND R.PERIOD_ID = 120
AND R.RECORD_FLAG = 3
AND R.ORGANIZATION_ID IN
(SELECT OO.ID
FROM ORGANIZATION OO
WHERE OO.IS_OPEN = 1
START WITH OO.AREA_CODE = O.AREA_CODE
CONNECT BY OO.PARENT_ID = PRIOR OO.ID)
AND R.RECORD_ID = T.RECORD_ID
) C
WHERE F.RECORD_ID = R.RECORD_ID
AND R.ORGANIZATION_ID = O.ID
AND R.FORM_ID = 58
AND R.PERIOD_ID = 120
AND R.RECORD_FLAG = 3
AND O.PARENT_ID = 3509
AND O.IS_OPEN = 0
...
AND R.ORGANIZATION_ID IN
(SELECT OO.ID
FROM ORGANIZATION OO
WHERE OO.IS_OPEN = 1
START WITH OO.AREA_CODE = O.AREA_CODE
CONNECT BY OO.PARENT_ID = PRIOR OO.ID)
AND R.RECORD_ID = T.RECORD_ID
...
--想这种多表连接,就不要使用in了,难道你不觉得多表连接已经很耗时吗?
是不是列名有重复啊,建议在每个列上加上表的别名啊。
FROM FORM_DATA F,
REPORT_RECORD R,
ORGANIZATION O,
(
...
O表是在最外层的FROM中的所以这个问题也一直困扰我 哪位可以指教一下 怎么解决我上述的需求啊~
select M010.*
from ECOM010 M010
where M010.USER_NO in (select M011.User_No from ECOM011 M011);
exists的用法:
select M010.*
from ECOM010 M010
where exists (select M011.User_No
from ECOM011 M011
where M011.User_No = M010.USER_NO);你现在用了in,还在in中连接个了其他表,一般不这样用吧,即使你连个其他表,要不报错的话也只能是 FORM_DATA T, REPORT_RECORD R和之中的一个,也不可能跳到很外层的 ORGANIZATION O。总之这些写肯定不对