2016-04-26 15 views
0

excelにエクスポートすると、最初の行には何も含まれていないというクエリがあります。 (データが2番目の行で始まるようにする場合は空白のヘッダー)選択:結果セットの最初の行を空白にする方法とその後の結果

これをどのように達成できますか?どんな助けでも大歓迎です!あなたがプログラム的にそれを削除することができます

select * from (
    select 0 rnum, 'header info here' -- number of columns has to match your query below though 
    from dual 
    union all 
    select row_number() over (order by ??) rnum, -- put what order you want the data to come out as here 
      a.* 
     from (your query goes here 
      ) a 
    ) 
    order by rnum 
/

:あなたが何かを自動化しようとしているウェア場合

答えて

0

あなたはすべてのあなたのすべての列がその空白行を取得するために労働組合を行うことができます。..

select null as col1,null as col2,.... null as coln from dual 
union all 
select col1,col2,....coln from yourtable 

あなたは、列の別名は、2つの選択上記のために同じであることを確認する必要があります。

+0

私はこれを私のソリューションに使用しました - ありがとう! – user3642066

+0

どのように(@cableload)、どのようにして(@user ...)FIRST行にすべてのNULLがあることを確認しましたか?おそらく単に実装の事故に依存することによって、Oracleは行をシャッフルしませんか?リレーショナル・データベース、SQL、およびOracleの定義は、その結果を保証するものではありません。あなたは自分自身の危険に頼っています。 – mathguy

+0

良い点@mathguyおそらくOPはこの[テクニック]を使うことができます(http://blogs.uoregon.edu/developments/2010/12/13/add-an-empty-row-to-oracle-data-warehouse-query最初の行が常に空白になることを保証するには、常に – cableload

0

最も単純には、あなたがそれをインポートするときだけでExcelで空白行を追加することです、しかし、あなたはこのような何かを試みることができます最初のrnum列... または、外側のselect *を必要な列に変更します。

+0

カラムを空白にする場合は、データ型の適合性のために、ユニオンの最初のクエリで「NULL」を選択することをお勧めします。 – Kateract

+0

ええ、確かに、彼はヘッダーを言いました、私はもっと一般的なオプションを提供しています...しかし、本当に空白/空の行であれば、NULLと空の文字列を使用するほうが意味があります。 – Ditto

+0

私はoracleについてはわかりませんが、データ型を混在させることはできません。文字列リテラルは、デフォルトで 'varchar'または' nvarchar'と表示されている可能性があります。数値型またはdatetime型の列に結合すると、問題が発生する可能性があります。 – Kateract

関連する問題