How can I "Sort by min (subquery)"?
I am trying to return a list of dates. Each line has multiple dates concatenated into one line. I want to order the rows by minimum date in each row.
Here is my request:
SELECT br.bm_tracking_number,
(SELECT TOLIST(APPT.fact_date)
FROM bm_fact APPT
WHERE APPT.bm_review_sk = br.bm_review_sk
AND APPT.fact_type_code=183050) "Appointments"
FROM BM_REVIEW br
WHERE row_delete_date_time IS NULL
ORDER BY MIN(SELECT APPT.fact_date
FROM bm_fact APPT
WHERE APPT.bm_review_sk = br.bm_review_sk
AND APPT.fact_type_code = 183050);
I am getting Oracle error (missing expression 00936) in turn. Is there any other way to accomplish what I am trying to do?
+2
source to share
2 answers
It:
SELECT br.bm_tracking_number,
TOLIST(bf.fact_date)
FROM BM_REVIEW br
JOIN BM_FACT bf ON bf.bm_review_sk = br.bm_review_sk
AND bf.fact_type_code = 183050
WHERE br.row_delete_date_time IS NULL
GROUP BY br.bm_tracking_number
ORDER BY MIN(bf.fact_date)
... will give you a list ordered fact_date
in ascending order.
+3
source to share