2017-12-05 15 views
0

今日はすべて書式設定の質問があります。oracleのsqlplus:2番目の列は、最初の行と同じ行ではなく、次の行に表示されます。

私は最初にlistagg関数を使用していますが、私は必要な結果を得ていますが、2番目の列は折り返してcolumn1の下の行に表示されています。私は、私の行数とすべてを調整しましたが、それでも同じ問題が発生します。私はOracle環境でsqlplusを使用しています。ここで

は、クエリは次のとおりです。ここで

select lit_id "Bookid",listagg(Auname, ',') 
     WITHIN GROUP 
     (order by Auname) "Author" 
     from LITWORK_AUTHOR 
     group by lit_id; 

は私が得るものです:

Bookid 
---------- 
Author 
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 
     1101 
Dilbert,Emerson,Sartre 

     1102 
Axel,Sartre 

     1103 
Breese,Marquez 

     1104 
Groom,Young 

     1105 
Blake,Julian,Scott,Verde,Young 

     1106 
Black,Sartre 

     2007 
Emerson,Pell,Simon 

     2008 
Codd,Rogers,Sartre,Young 

8 rows selected. 

これは私が欲しいものです:(最初の数行の一例)

Bookid Author 
    1101 Dilbert,Emerson,Sartre 
    1102 Axel,Sartre 
    1103 Breese,Marquez 

ありがとうございます。

+0

を望んでいた正確な形式を持って、あなたが2つの列をフォーマットする 'COLUMN'コマンド(SQLの\ * Plusコマンドを!)を使用しましたか? 'BOOKID'は' NUMBER'列ですか?次に、 'COLUMN BOOKID FORMAT 99999'と 'COLUMN AUTHOR FORMAT A50'を使って2つの列をフォーマットしようとすることができます。 – mathguy

+0

それはうまくいった!どうもありがとう! – SQLinTraining

+2

@SQLinTraining:あなたのために働いていたカラムコマンドをあなた自身が解答として書くことをお勧めします。エンジンや将来の訪問者を検索すると役に立つかもしれません。 –

答えて

0
COLUMN Bookid Format 99999 

COLUMN Author Format A50 

select lit_id "Bookid",listagg(Auname, ',') 
     WITHIN GROUP 
     (order by Auname) "Author" 
     FROM LITWORK_AUTHOR 
     GROUP BY lit_id; 

これは私が

関連する問題