This code returns 6754 rows:
select a.prodid, a.prodlinetype, a.itemid, a.inventtransid, a.inventreftype, a.inventrefid, a.inventreftransid, a.vendid,
a.oprnum
from reporting.prodbom a inner join reporting.prodroute b on a.prodid = b.prodid
inner join reporting.wrkctrtable c on b.wrkctrid = c.wrkctrid where a.dataareaid = 'far'
and a.vendid = '9065'and (b.semqtygood <> 0 or b.semqtyerror <> 0) and b.dataareaid = 'far'
and c.vendid = '9065' and c.dataareaid = 'far'
This code returns 3943 rows:
select prodid, prodlinetype, itemid, inventtransid, inventreftype, inventrefid, inventreftransid, vendid, oprnum
from reporting.prodbom where dataareaid = 'far' and prodid in (
select prodid from reporting.prodroute where dataareaid = 'far'
and wrkctrid in (select wrkctrid from reporting.wrkctrtable where dataareaid = 'far' and vendid = '9065')
and (semqtygood <> 0 or semqtyerror <> 0))