我在查詢中篩選重複值時遇到問題。這是我的查詢篩選子查詢結果
SELECT cid.IDS_NO,cid.SUB_TITLE,cid.E_SUB_NAME, (cid.SUB_TITLE || ' '|| cid.E_SUB_NAME),
(SELECT(INST_BLK_HSE || ' ' || (SELECT E_STREET_NAME FROM street_table where street_code = d.INST_ST_CODE))
FROM del d where d.IDS_NO = cid.IDS_NO and ROWNUM = 1),
(SELECT INST_ST_LEVEL || '-' || INST_STUNIT FROM detail d where d.IDS_NO = cid.IDS_NO and rownum = 1),
('COUNTRY' ||' ' || pl_post),pl_post
FROM SUBSCRIBER cid where pl_postal_district = 15 and rownum < 3001
and hi_property_type IN ('CONDO','COMMERCIAL BUILDING');
這些是我有問題的部件:
(SELECT(INST_BLK_HSE || ' ' || (SELECT E_STREET_NAME FROM street_table where street_code = d.INST_ST_CODE))
FROM del d where d.IDS_NO = cid.IDS_NO and ROWNUM = 1),
(SELECT INST_ST_LEVEL || '-' || INST_STUNIT FROM detail d where d.IDS_NO = cid.IDS_NO and rownum = 1);
這些部件總能得到多條記錄,我想只得到1記錄最低的序列號,因此,這裏是我所做的:
(SELECT(INST_BLK_HSE || ' ' || (SELECT E_STREET_NAME FROM street_table where street_code = d.INST_ST_CODE))
FROM del d where d.IDS_NO = cid.IDS_NO and ROWNUM = 1 ORDER BY d.SEQ_NO DESC),
(SELECT INST_ST_LEVEL || '-' || INST_STUNIT FROM detail d where d.IDS_NO = cid.IDS_NO and rownum = 1 ORDER BY d.SEQ_NO DESC);
但我總是得到一個錯誤說缺少括號,但是當我通過刪除訂單,它工作正常。我應該怎麼做才能讓我的查詢正確運行?
也許這個職位可以幫助http://stackoverflow.com/questions/5119190/oracle-sql-order-by-in-subquery-problems –