web-dev-qa-db-ja.com

SQL-結合された一時テーブルの作成

2つのテーブルを一時テーブルに結合してから、選択クエリで一時テーブルを使用することを検討しています。これは、作成したい一時テーブルのselectステートメントです。

select program, event
from OMEGA.HP
inner join POM.GT
on program = substring(name,7,4)
where LENGTH(name)= 25

上記の一時テーブルを作成する最も簡単な方法は何ですか?

4
rcianfar

一時テーブルを作成することもできますが(必要な場合もあります)、まだわからない場合は、次のようなクエリで仮想一時テーブルを作成できることを指摘しておきます。

SELECT * 
FROM (
  select program, event
  from OMEGA.HP
  inner join POM.GT on program = substring(name,7,4)
  where LENGTH(name)= 25
) AS Virtual_table

次のように、これらの別のテーブルに参加することもできます。

SELECT * 
FROM (
  select program, event
  from OMEGA.HP
  inner join POM.GT on program = substring(name,7,4)
  where LENGTH(name)= 25
) AS v_table74
join (
  select program, event
  from OMEGA.HP
  inner join POM.GT on program = substring(name,2,5)
  where LENGTH(name)= 25
) as v_table25 on v_table74.program = v_table25.program
3
Hogan

共通テーブル式(CTE)を使用します。

with temptablename(program, event) as (
  select program, event
  from OMEGA.HP
  inner join POM.GT
    on program = substring(name,7,4)
  where LENGTH(name)= 25
)
select program, event
from temptablename;
0
Gary_W