-1

テーブル名「Numbers」があります.2つの列があります. Col_1 & Col_2

ここに画像の説明を入力

次に、以下に示すように、上記の 2 つの列の値を 1 つの列 Col_3 に表示できるようにクエリを作成します。

ここに画像の説明を入力

4

2 に答える 2

1

両方のテーブルで一意の値のみが必要で、テーブルを 2 回スキャンしてもかまわない場合は、次のようにします。

select col1 as col3
from   numbers
union
select col2
from   numbers

すべての値を保持したい場合は、UNION ALL を使用します。

select col1 as col3
from   numbers
union all
select col2
from   numbers

テーブルが十分に大きく、2 回のスキャンを避けることが望ましい場合:

with cte_two_rows as (
  select 1 col from dual union all
  select 2 col from dual)
select
  case col
    when 1 then col1
    when 2 then col2
  end col3
from
  numbers cross join cte_two_rows
于 2013-07-27T09:43:59.940 に答える