SELECT LASTNAME, ID FROM HRMRESOURCE WHERE ID IN (SELECT REGEXP_SUBSTR(PEIHER, '[^,]+', 1, LEVEL) FROM (SELECT PEIHER FROM FORMTABLE_MAIN_50) CONNECT BY LEVEL <= LENGTH(PEIHER) - LENGTH(REPLACE(PEIHER, ',', '')) + 1)
select a.gznr 工作内容, a.jhwcrq 计划完成日期, a.requestid 流程id, a.wasj 完成时间, a.bez 备注, d.lastname 配合人 from formtable_main_50 a left join (select lastname, id from hrmresource where id in (SELECT REGEXP_SUBSTR(peiher, '[^,]+', 1, rownum) from (select peiher from formtable_main_50) CONNECT BY ROWNUM <= LENGTH(peiher) - LENGTH(REPLACE(peiher, ',', '')) + 1)) d on a.peiher = d.id;
提示 on a.peiher = d.id; 标红的这个a是无效数字
这只是个别名,从你第一个复制而来,怎么会~~~ 你执行你的 第一个 select a.gznr 工作内容 ,a.jhwcrq 计划完成日期,a.requestid 流程id ,a.wasj 完成时间,a.bez 备注 ,d.lastname 配合人 from formtable_main_50 a left join hrmresource d on a.peiher=d.id 会报错吗
把字段名去掉是什么意思,没懂 这个语句写全是: select a.gznr 工作内容 ,a.jhwcrq 计划完成日期,a.requestid 流程id ,a.wasj 完成时间,a.bez 备注 ,d.lastname 配合人 ,e.lastname 批准人 ,f.lastname 执行人 from formtable_main_50 a left join hrmresource d on a.peiher=d.id left join hrmresource e on a.pzr=e.id left join hrmresource e on a.zxr=f.id 如果不查询配合人这个字段就没问题,配合人是个多人力资源字段,批准人、执行人是个一般人力资源字段
a.jhwcrq 计划完成日期,
a.requestid 流程id,
a.wasj 完成时间,
a.bez 备注,
d.lastname 配合人
from formtable_main_50 a
left join (select lastname, id
from hrmresource
where id in
(SELECT REGEXP_SUBSTR(peiher, '[^,]+', 1, rownum)
from (select peiher from formtable_main_50)
CONNECT BY ROWNUM <=
LENGTH(peiher) -
LENGTH(REPLACE(peiher, ',', '')) + 1)) d
on a.peiher = d.id;
标红的这个a是无效数字
你执行你的
第一个
select
a.gznr 工作内容
,a.jhwcrq 计划完成日期,a.requestid 流程id
,a.wasj 完成时间,a.bez 备注
,d.lastname 配合人
from formtable_main_50 a
left join hrmresource d
on a.peiher=d.id
会报错吗
这个语句写全是:
select
a.gznr 工作内容
,a.jhwcrq 计划完成日期,a.requestid 流程id
,a.wasj 完成时间,a.bez 备注
,d.lastname 配合人
,e.lastname 批准人
,f.lastname 执行人
from formtable_main_50 a
left join hrmresource d
on a.peiher=d.id
left join hrmresource e
on a.pzr=e.id
left join hrmresource e
on a.zxr=f.id
如果不查询配合人这个字段就没问题,配合人是个多人力资源字段,批准人、执行人是个一般人力资源字段