4

次のようなデータを表示したい:

Column1        Column2
-----------------------
TotalAvg         60%

A1               50%

B1               70%

Z1               60%

私のSQLスクリプトは次のようなものです。

select 'Total Avg' as Column1,'60%' as Column2

union

select Column1,Column2 from tblAvg

私が得ている結果は次のようなものです:

Column1        Column2
------------------------

A1               50%

B1               70%

TotalAvg         60%

Z1               60%

質問:デフォルトの順序を削除し、ユニオンテーブルを実行している順序で結果を取得したいと思います。

4

4 に答える 4

8

結果の順序を指定する列を追加できます。

select 'Total Avg' as Column1,'60%' as Column2, 1 as OrderCol
union
select Column1,Column2, 2 from tblAvg
order by OrderCol

がないorder by場合、データベースは任意の順序で行を自由に返すことができます。

于 2012-08-24T13:21:00.053 に答える
1
SELECT
  *
FROM
(
  select 0 as pos, 'Total Avg' as Column1, '60%' as Column2
  union
  select 1 as pos,                Column1,          Column2 from tblAvg 
)
  AS data
ORDER BY
  pos, column1, column2
于 2012-08-24T13:21:21.763 に答える
1

あなたはこのようなことをすることができます

select * From
(
select 'Total Avg' as Column1,'60%' as Column2, 1 as ItemOrder

union

select Column1,Column2,2 from tblAvg
) innertable
Order By ItemOrder
于 2012-08-24T13:21:29.627 に答える
0

使ってみてください

select 'Total Avg' as Column1,'60%' as Column2

union all

select Column1,Column2 from tblAvg
于 2012-08-24T13:20:50.767 に答える