我有这个查询:
select w.worker_id, w.lastname,pd.invalid
from workers w,personal_data pd
where pd.worker_id (+) = w.worker_id
and nvl(pd.invalid,'N')='Y'
我有复选框(y,n),该复选框的目的是获取无效列表,如果它被选中并且当它没有与包括无效的正常工作人员一起检查时。有了这个我总是得到无效的列表。
有了这个选择:
select w.worker_id, w.lastname,pd.invalid
from workers w,personal_data pd
where pd.worker_id (+) = w.worker_id
and pd.invalid =nvl(:p_invalid,pd_invalid)
如果复选框是 Y,我会得到无效的工人,而当未选中(n)时,我得到的只是普通工人,我需要得到 N 个所有工人(无效和正常)的时间。