If anyone can assist this would be great. I have written the following query, but unless I use distinct it has multiple rows returned. With distinct it works as expected, but without it is very slow and returns many rows.
SELECT distinct ('RCT' || rt.transaction_id) Unique_Receipt_Source_ID,
hla.location_code warehouse_code,
iwm.whse_name warehouse_name,
pvs.vendor_site_id vendor_site_id,
pvs.vendor_site_code vendor_site_name,
pha.vendor_id,
v.vendor_name,
pha.segment1 po_num,
pla.attribute4 container,
pla.attribute5 fill_level,
pha.fob_lookup_code inco_terms,
iwi.fixed_leadtime,
pla.line_num po_line_num,
iim.item_no item_no,
rt.transaction_date receipt_date,
rt.quantity Receipt_quantity,
rt.unit_of_measure Receipt_UOM,
rt.currency_code Receipt_Currency_Code,
(rt.quantity * pla.unit_price) receipt_amount,
pla.unit_price PO_Unit_price,
iim.item_desc1 item_description,
pla.item_description po_line_description,
pha.terms_id SYS_pay_terms_id,
ap.name pay_terms_name,
ap.description pay_terms_description,
papf.full_name BUYER,
plla.country_of_origin_code country_of_origin,
(pla.quantity * pla.unit_price) PO_LINE_AMOUNT,
pha.currency_code PO_currency_code,
pla.quantity PO_LINE_QTY,
pla.unit_meas_lookup_code PO_LINE_UOM
FROM po_headers_all pha,
po_line_locations_all plla,
po_lines_all pla,
apps.po_vendor_sites_all pvs,
apps.po_vendors v,
rcv_transactions rt,
apps.ic_whse_inv iwi,
apps.ic_whse_mst iwm,
apps.ic_item_mst iim,
apps.per_all_people_f papf,
apps.hr_locations_all hla,
ap_terms ap,
mtl_system_items_b msi
WHERE pha.po_header_id = pla.po_header_id
AND plla.po_header_id = pha.po_header_id
AND papf.person_id = pha.agent_id
AND pha.vendor_id = v.vendor_id
AND pha.vendor_site_id = pvs.vendor_site_id
AND v.vendor_id = pvs.vendor_id
AND pla.po_header_id = pha.po_header_id
AND iim.item_no = msi.segment1
and msi.inventory_item_id = pla.item_id
and iwi.item_id = iim.item_id
AND rt.po_header_id = pha.po_header_id
AND hla.location_id = pha.ship_to_location_id
AND rt.po_line_id = pla.po_line_id
AND iwm.whse_code = iwi.whse_code
AND hla.location_code = iwi.whse_code
AND pha.terms_id = ap.term_id
AND rt.transaction_type = 'RECEIVE'
order by pha.segment1, pla.line_num;