The query is giving 100000 records instead of only 13 records. Need the suggestion regarding this query

select nvl(a.acct_no, ‘NIL’) as acct_no,
nvl(a.cont_no, ‘NIL’) as cont_no,
nvl(a.cust_name,f.cust_name) as cust_name,
nvl(a.cust_id,f.cust_id) as cust_id,
b.order_no,b.sale_man_code,
c.sub_no as phon_no,
b.appl_no,
d.inst_addr_flat,
d.inst_addr_flor,
d.building_id
from temp_hl_on_order b inner join temp_hl_on_od c
on b.order_status = c.on_status and b.order_status <> ‘CN’
and b.order_no = c.order_no and b.order_status = c.on_status
inner join temp_csm016 a
on a.acct_no = b.acct_no and a.cont_no = b.cont_no
inner join temp_line_job_queue d
on c.order_no = d.order_no and c.sub_no = d.sub_no
left outer join temp_hl_on_apply f
on b.appl_no = f.appl_no
and b.order_status <> ‘CN’
and c.sub_no in (
select b.ref_phone_no from img.dm_doc_imag a join img.dm_np_doc_assoc b on a.doc_id = b.doc_id
where b.doc_id like ‘20091106%’);