2017-07-24 165 views
0

我需要創建以下字符串;終止字符串

'A-NUPHAT','AMIRA','AMNAD','ANAT','ANUCHAT', 

,但沒有最後一個逗號:

這是我的查詢:

select listagg( '''' || empName||'''' || ',' ) within group (order by empName) 
    from (select distinct T4.Rep_Emp_Name as empName 
    from YAN_TASKS t0 
    inner join YAN_PLATES  t1 
    on  t0.firm_code = T1.Firm_Code 
    and T0.Plate_Code= T1.Plate_Code 
    inner join Rep_Emp_Names t2 
    on T1.Firm_Code = T2.Firm_Code 
    and T1.Rep_Emp_Code=t2.REP_EMP_CODE 
    inner join YAN_EMP_TASKS_PLAN t3 
    on t0.firm_code=t3.firm_code 
    and T0.Task_Doc_Nbr = T3.Task_Doc_Nbr 
    inner join Rep_Emp_Names t4 
    on t4.firm_code = t3.firm_code 
    and t4.Rep_Emp_Code=t3.Rep_Emp_Code) ) 

如何重寫查詢,沒有得到最後一個逗號?

+1

這不是T-SQL(SQL Server中使用的SQL方言)。這個問題'sql-server'標籤不正確。請用正確的SQL方言編輯你的問題和標籤。 –

+1

這看起來像Oracle。 –

回答

2

我認爲問題在於您將逗號連接到您的字符串值。您應該指定逗號作爲分隔符,而不是爭論:listagg()是足夠聰明的知道,我們並不需要一個尾隨逗號:

​​

缺省的分隔符是null,所以如果我們不指定參數甲骨文剛runseverythingtogetherintoasinglestring :)。