나는 다음과 같은 쿼리가 : 나는 부분 싶습니다listagg에서 각 문자열에 대해 ''를 얻는 방법은 무엇입니까?
SELECT
ix.dt AS DT,
ix.UDBENCH_UDIDX AS UDFO,
' .' || REPLACE(REPLACE(ix.UDBENCH_UDIDX,' ',''),'IS','') AS PF_TICKER,
i.szbez AS PORTFOLIO_NAME,
ix.rm_generic_inst_type_l1,
ix.rm_generic_inst_type_l2,
ix.scd_sec_type,
m.ud_isin AS SECURITY_ID,
'%' AS POS_TYPE,
ix.sec_weight AS QUANTITY,
ix.sec_ccy,
ix.sec_price AS MKT_PRICE,
'' AS COST_PX,
'' AS POSITION_VALUE_AC,
'' AS POSITION_VALUE_FC,
m.ud_sedol AS UD_SEDOL,
m.ud_bbgid AS UD_ID_BB_UNIQUE,
m.ud_cusip AS UD_CUSIP,
m.ud_bbgid AS UD_BBGID,
m.inst_name AS INST_NAME,
ix.idas AS IDAS,
m.ud_scd_securityid AS UD_SCD_SECURITYID
FROM XXXX ix
INNER JOIN XXXXR i ON (i.udidx = ix.UDBENCH_UDIDX),
XXXXX m
WHERE ix.dt >= to_date(sdt_start,'DD.MM.YYYY')
AND ix.dt <= to_date(sdt_end,'DD.MM.YYYY')
AND ix.UDBENCH_UDIDX IN (select listagg(udfo,',') within group(ORDER BY udfo)
from XXXXX where pf_ticker is null)
AND i.szbez LIKE '%DFLT%'
AND ix.idas = m.idas;
: 그룹 (udfo BY ORDER 내
및 ix.UDBENCH_UDIDX IN (, udfo (listagg를 선택합니다 ',')) pf_ticker)에 상당
널 XXXXX에서 : ix.UDBENCH_UDIDX IN ('blal', 'BLL'역광 ') 그러나 ix.UDBENCH_UDIDX IN (blal, BLL, BLC) 및 결과를 나타낸다 내 검색어의 빈 테이블,이 결과 ('blal', 'bll', blc 대신 blal, bll, blc)를 갖도록 listagg를 설정하는 방법을 알고 있습니까? 감사합니다.
감사합니다. 이미 첫 번째 아이디어를 시도했지만이 쿼리를 사용하기 때문에 작동하지 않습니다. 스트로커 절차에서. jon으로 어떻게 할 수 있는지 말해 줄 수 있니? –
@ ProuProuTyu - "작동하지 않는다"는 것은 무슨 뜻입니까? 어떻게됩니까? tored procedure - 문을 생성 한 다음 동적으로 실행하고 있습니까? 'execute immediate'을 통해? 그렇다면 왜? (또한, 이전 타입 조인', XXXXX m'은 하위 쿼리와 동일한 * 테이블이며, 왜'ix' 또는'i'와 상관이 없는지?) –