我想返回一個日期列表。每行都有多個日期連接爲單個字符串。我想按行中的最短日期排序。我該如何「按分(子查詢)」排序?
這裏是我的查詢:
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);
我得到由線數量級的Oracle錯誤(00936缺少表達)。是否有另一種方法來完成我想要做的事情?
不應該有[GROUP BY br.bm_tracking_number]在那裏嗎?然後[ORDER BY MIN(bf.fact_date)]? – MatBailie 2009-10-02 17:30:42
@Dems:正確,增加了缺少的GROUP BY。 – 2009-10-02 17:32:53
您仍然需要ORDER BY中的MIN()聚合,因爲您沒有按該字段分組。 – MatBailie 2009-10-02 17:35:13