몇 가지 집계 함수와 몇 개의 그룹화 된 열이있는 쿼리가 있습니다. 그룹화 된 열 중 하나를 그룹 밖으로 가져 와서 그것이 가지고있는 모든 VARCHAR 값의 일종의 집계 "연결"을 수행하려고합니다. (이상적으로는 새 캐리지 분리 목록에 있음). 여기 오라클 : 그룹화 된 결과에서 그룹화되지 않은 열을 연결하는 방법
내 쿼리 내가이해야 할 위치 나는주의 : Merchant1: 그래서 본질적으로
SELECT rownum, F.*
FROM (SELECT
c.logical_type "MerchantType",
c.merchant_id "MerchantID",
c.m_name "MerchantName",
m.m_name "TransferredBy", /* <----- Make this aggregate */
SUM(DECODE(b.ba_price,null,0,DECODE(b.BILL_SRVC_ID,'CREDITCHANGE',0,b.ba_price))) "TotalValue",
sum(DECODE(b.ba_price,null,0,DECODE(b.BILL_SRVC_ID,'CREDITCHANGE',b.ba_price,0))) "LimitChange",
SUM(DECODE(b.ba_status,'bdone',1,0)) "TxnCount",
sum(to_number(decode(substr(b.ba_merchant_freetext,1,10),'Commission',substr(b.ba_merchant_freetext, 12,(instr(b.ba_merchant_freetext,';',1,1)-12))))) "Commission"
FROM bill_auth0 b,
merchant0 m,
merchant0 c
WHERE
b.srvc_prod_id = 'TRANSFER'
AND b.ba_channel = 'WPSS'
AND b.ba_status IN ('bdone')
AND b.merchant_id = m.merchant_id
AND b.customer_id = c.merchant_id
AND b.ba_timestamp BETWEEN to_date('11/01/2009', 'MM/DD/YYYY')
AND to_date('11/17/2009', 'MM/DD/YYYY')+1
GROUP BY
c.logical_type,
c.merchant_id,
c.m_name,
m.m_name /* <-- Remove from Grouped By */
ORDER BY c.logical_type, c.merchant_id, m.m_name) F;
을 나는 "TransferredBy는"같이 보일 것입니다 결과를 가질 수 있도록하려면 판매자 2
판매자 3
이 그룹 행에 3 개의 별도의 m.m_name이 있으면 일치합니다.
어떤 오라클 버전입니까? –