2016-07-19 1 views
0

を使用して出力をフォーマットIは、実行にはSELECT文

SELECT 'MY OUTPUT' 
SELECT * FROM MY TABLE 

下に記載されているように、2つのSELECT文はMY OUTPUTが最初に印刷されており、その後、次の選択のためのギャップが存在します。

UNIONのようなものを使用して、2つのステートメントを結合したいと考えています。

私が使用している:

SELECT 'MY OUTPUT' UNION 
SELECT * FROM MY TABLE 

をしかし、私はエラーを取得しています:列の

All queries combined using a UNION, INTERSECT or EXCEPT operator must have an equal number of expressions in their target lists.

+0

SQLは "Structurized Query Language"の略で、データベースにクエリを行い、機械が理解できる出力を出力するように設計されています。それは素晴らしいフォーマットのために設計されていません。 – user4759923

+0

テーブルには何カラムありますか?ここにリストできますか? –

答えて

0

ので、ここで何が起こっているのかです:

あなたは(UNION、INTERSECTまたはEXCEPT演算子を使用して組み合わさすべてのクエリは、彼らのターゲットリスト内の式の数と同じ数を持っている必要があります。)取得しているエラーが原因であり1つの列の数が他の列より多いselectです。

[My Table]であるとしてあなたはあなたのクエリはのように見えるように思われるあなたの最初のクエリで同じ空白の列を使用することができます。

SELECT 'MY OUTPUT' , '', '' ,'', '' --(no. of columns should match those in MY TABLE) 
UNION 
SELECT * FROM [MY TABLE] 

私は、あなたが不可能なExcelのスタイルのセルのマージをしたい推測しています残念なことにselectクエリの出力として。

1
SELECT 'MY OUTPUT' # this query return one column 
UNION 
SELECT * FROM MY TABLE # this query return more than one column 

数が同じ

SELECT 'MY OUTPUT' UNION # return one column 
SELECT column1 FROM MY TABLE # return one column now it will work 

でなければなりませんが、私は考えますあなたはこれをしたくないですか?

SELECT 'MY OUTPUT',column1,Column2,column3 FROM MY TABLE