発注書のレポートを実行すると、レポートで製品コードのレコードが重複します。
たとえば、発注書が P000976 の場合、レポートでは製品コードが 1 回だけ表示されるはずなのに 2 回表示されます。45-5540 が 2 回表示されます。
P000976 09-17-2012 15,040.00 15,040.00 0.00
45-5540 "Lordotic 子宮頸部スペーサー 10mm Lordotic 子宮頸部スペーサー 10mm" 20 20 0
45-5540 "Lordotic 子宮頸部スペーサー 10mm
レポートの SQL を SQL サーバーに配置し、コードが追加の製品コードを引き起こしている場所を確認して SQL を実行すると、SQL 内の次の行になります。
q.distpartno = p.distpartno で all_product_codes_VW p に参加
select q.specialrequirement
, q.distpartno
, q.toproduce
, q.prodbegindate
, q.distributor
, rc.report_category_name
, s.productperpo
, r.ebi_released
, w.ebi_in_WIP
, p.distproductname
, tp.typeprefixdetail
, tp.cost
, '1' as ReportTotals
from all_required_vw q
left join all_shipped_grafts_new_VW s on (q.distpartno = s.distpartno and q.specialrequirement = s.ponumber)
left join all_released_Grafts_VW r on q.distpartno = r.distpartno
left join all_in_WIP_VW w on q.distpartno = w.distpartno
join all_product_codes_VW p on q.distpartno = p.distpartno
join setup_tissue_prefix tp on q.typenumber = tp.typeprefix
join setup_report_category_1 rc on q.distributor = rc.report_category_id
where q.prodbegindate < @enddate
and q.completed = '0'
and rc.report_category_name like '%' + isnull(@tcustomer, '') + '%'
order by q.prodbegindate, p.distproductname
これは、結合によって複製が作成されるビューの SQL です。
SELECT COUNT_BIG(*) AS BIG, DistPartNo, DistProductName, Distributor, UMTBProductCode
FROM dbo.Setup_Distributor_Product_info
WHERE (Distributor <> '7') OR (Distributor IS NULL)
GROUP BY DistPartNo, DistProductName, Distributor, USSAProductCode