我有以下查詢。問題是最後一列productdesc返回兩條記錄,並且由於不同,查詢失敗。現在我需要在select查詢的where子句中再添加一列,以便它返回一條記錄。問題是我需要添加 的列不應該是group by子句的一部分。Oracle集團發行
SELECT product_billing_id,
billing_ele,
SUM(round(summary_net_amt_excl_gst/100)) gross,
(SELECT DISTINCT description
FROM RES.tariff_nt
WHERE product_billing_id = aa.product_billing_id
AND billing_ele = aa.billing_ele) productdescr
FROM bil.bill_sum aa
WHERE file_id = 38613 --1=1
AND line_type = 'D'
AND (product_billing_id, billing_ele) IN (SELECT DISTINCT
product_billing_id,
billing_ele
FROM bil.bill_l2)
AND trans_type_desc <> 'Change'
GROUP BY product_billing_id, billing_ele
我希望通過添加新的篩選器的where子句,以便它返回一個記錄修改select語句下面的方式。
(SELECT DISTINCT description
FROM RRES.tariff_nt
WHERE product_billing_id = aa.product_billing_id
AND billing_ele = aa.billing_ele
AND (rate_structure_start_date <= TO_DATE(aa.p_effective_date,'yyyymmdd')
AND rate_structure_end_date > TO_DATE(aa.p_effective_date,'yyyymmdd'))
) productdescr
的aa.p_effective_date
不應該是GROUP BY
條款的一部分。我該怎麼做? Oracle是數據庫。
非常感謝。 Oracle解析函數是解決這個問題的唯一方法嗎? – Arav 2011-03-06 22:33:15