ちょっとした実験ですが、表の値の先頭にスペースまたはゼロがあると思います。
OP の場合、次のクエリを実行してこれをテストできます。
select *
from t_tra_main
where left(pid) in (' ', '0');
SQL フィドルはこちらです。コードは次のとおりです。
create table t_tra_main (
id int identity(1, 1),
pid varchar(50)
);
insert into t_tra_main(pid)
select '200000002' union all
select '0300000394' union all
select '0200000004' union all
select ' 200000001' union all
select ' 300000378' union all
select '300000393 ' union all
select '300000379 ' union all
select '200000003';
select * from t_tra_main where pid in (200000002,300000394,200000004,
200000001,300000378,300000393,300000379,200000003)
select * from t_tra_main where pid in ('200000002','300000394','200000004',
'200000001','300000378','300000393','300000379','200000003')