我有以下查询,我需要更改它以仅返回来自
tracking_number
(如果重复)的唯一值以及每个重复项中最早的created_date
。
SELECT o.order_id,
ti.tracking_number,
ti.created_date,
o.order_date,
ae.not_uploaded,
ae.uploaded_late,
ae.uploaded_on_time_but_no_carrier_scan
FROM orders o
JOIN tracking_info ti ON o.order_id = ti.order_id
JOIN april_evaluation ae ON RIGHT(o.product_id, 13) = ae.transaction_id
WHERE ae.not_uploaded = 'YES'
OR ae.uploaded_late = 'YES'
OR ae.uploaded_on_time_but_no_carrier_scan = 'YES'
我试过这个:
SELECT o.order_id,
ti.tracking_number,
ti.created_date,
o.order_date,
ae.not_uploaded,
ae.uploaded_late,
ae.uploaded_on_time_but_no_carrier_scan
FROM orders o
JOIN tracking_info ti ON o.order_id = ti.order_id
JOIN april_evaluation ae ON RIGHT(o.product_id, 13) = ae.transaction_id
JOIN (
SELECT tracking_number,
MIN(created_date) AS min_created_date
FROM tracking_info
GROUP BY tracking_number
) AS tmin
ON ti.created_date = tmin.min_created_date
WHERE ae.not_uploaded = 'YES'
OR ae.uploaded_late = 'YES'
OR ae.uploaded_on_time_but_no_carrier_scan = 'YES'
但是它返回的结果比第一个查询多。我做错了什么?