「已注销」 2023-03-15 15:31 采纳率: 14.3%
浏览 53

数据库查询语句中提示子查询返回多个行,如何处理

img


select t1.PK_ID id,--主键
                         t1.FK_IPC_INNU zyid,--住院号
                         --(select round(to_number(IPC_REGISTER.TIME_OUT - IPC_REGISTER.TIME_IN)) from IPC_REGISTER);
                         t3.P2 visit_id,--住院次数
                         t3.p3  Patient_id,--病历号(Patient_id)
                         t1.PERSON_NAME patient_name,--患者姓名
                         --REG_REGISTER.WEIGHT weight,--体重
                         t5.CERTIFICATE_NUMBER id_carrd_id,--证件号码
                         t3.P7 age,--年龄
                         t3.P66_UNIT age_nuit,   --年龄单位(age_nult)
                         t2.FK_DEPA dept_code,--住院患者在科科室编号
                         t2.DEPANAME Dept_name,--住院患者在科科室名称
                         TO_CHAR(t1.TIME_IN,'yyyy-MM-dd hh24:mi:ss') In_hosp_at,--入院时间
                         t1.FK_DEPA_IN In_dept_id,--入院科室编号
                         t1.DEPANAME_IN In_dept_name,--入院科室名称
                         TO_CHAR(t1.TIME_OUT,'yyyy-MM-dd hh24:mi:ss') Out_hosp_at,--出院时间
                         t1.FK_DEPA_OUT Out_dept_id,--出院科室编号
                         t1.DEPANAME_OUT Out_dept_name,--出院科室名称
                         t2.FK_SYS_WABE Bed_no,--病床号
                         t3.FK_USER_P433  Charge_dr_id,   --主管医生工号(Charge_dr_id)
                         t3.P433 Charge_dr_name,--主管医生姓名
                         t3.FK_USER_P819 Chaege_nr_id,   --主管护士工号(Chaege_nr_id)
                         t3.P819 Charge_nr_name,  --主管护士姓名
                         t5.CURRENT_DETAILED_ADDRESS address,--现住址
                         t3.P14 Work_addr,--工作单位
                         t5.TEL_NO tel,--联系电话
                         t1.EMERGENCY_NAME lxr_name,--联系人
                         t1.EMERGENCY_TEL Lxr_phone, --联系人电话
                         t3.FK_DICT_105 natton,--民族
                         t5.FK_DICT_108 educatton,  --文化程度(educatton)
                         t3.FK_DICT_103 job, --人群分类(job)
                         t1.TOTAL_MONEY cost,  --总费用
                         (select round(to_number(IPC_REGISTER.TIME_OUT - IPC_REGISTER.TIME_IN)) from IPC_REGISTER) in_days,--住院天数(in_days)
                         t3.P27 in_days,
                         t4.FK_DICT_402 outcome   --转归情况(outcome)
                                 from IPC_REGISTER t1,--住院登记表
                                      INUR_IN_DEPARTMENT t2,--住院患者在科信息表
                                      CASE_FIRSTPAGE t3, --病案首页
                                      IDOC_DIAGNOSE t4, --住院诊断取转归情况字段
                                      SYS_PERSON t5
                                            where  t1.fk_sys_pers=t2.fk_sys_pers
                                               and t1.fk_sys_pers=t3.fk_sys_pers
                                               and t1.fk_sys_pers=t4.fk_sys_pers
                                               and t1.fk_sys_pers=t5.pk_id;
                                            

查询中提示这个如何处理

  • 写回答

6条回答 默认 最新

  • 於黾 2023-03-15 15:43
    关注

    select round这一行,必须使用distinct、sum、max、min、count等关键字,从语法上保证查询结果是唯一的,而不能依赖于数据是唯一的

    评论

报告相同问题?

问题事件

  • 创建了问题 3月15日