结果
sql语句
select a.pk_t_oh_oho,c.name,wm_concat(distinct g.name)as coh,
wm_concat(distinct i.name)as oc,
wm_concat(distinct k.name)as cod,
wm_concat(distinct m.dict_label) as pm
from t_oh_oho a
inner join sys_user b on b.user_id = a.fk_sys_user
inner join t_dept c on c.pk_t_dept = b.dept_id
inner join t_oh_ohooprs d on d.fk_t_oh_oho = a.pk_t_oh_oho
inner join t_oh_op e on e.pk_t_oh_op = d.fk_t_oh_op
inner join t_oh_opcohrs f on f.fk_t_oh_op = e.pk_t_oh_op
inner join t_oh_coh g on g.pk_t_oh_coh = f.fk_t_oh_coh
inner join t_oh_cohocrs h on h.fk_t_oh_coh = g.pk_t_oh_coh
inner join t_oh_oc i on i.pk_t_oh_oc = h.fk_t_oh_oc
inner join t_oh_opcodrs j on j.fk_t_oh_op = e.pk_t_oh_op
inner join t_oh_cod k on k.pk_t_oh_cod = j.fk_t_oh_cod
inner join sys_dict_data m on FIND_IN_SET(m.dict_value,pm)and m.dict_type = 'pe_pmtype'
where a.pk_t_oh_oho = 46
group by a.pk_t_oh_oho,c.name
sys_dict_data 字典表
sys_user 用户表
t_dept 部门表
t_oh_cod 职业病表
t_oh_coh 职业病危害因素表
t_oh_oc 职业禁忌症表
t_oh_oho 职业病作业人员表
t_oh_op 职业病作业点
t_oh_ohooprs 职业病作业人员作业点关系表
t_oh_opcohrs 职业病作业点职业病危害因素关系表
t_oh_cohocrs 职业病危害因素职业禁忌证关系表
t_oh_opcodrs 职业病作业点职业病关系表
业务关系
一个t_oh_oho,对应多个t_oh_op。一个作业人员对应多个作业点
一个t_oh_oho,对应一个用户,对应一个部门。
一个t_oh_op,对应多个t_oh_coh,多个t_oh_cod。一个作业点对应多个职业病危害因素,多个职业病
一个t_oh_coh,对应多个t_oh_oc。一个职业病危害因素对应多个职业禁忌症