2つのテーブルを一時テーブルに結合してから、選択クエリで一時テーブルを使用することを検討しています。これは、作成したい一時テーブルのselectステートメントです。
select program, event
from OMEGA.HP
inner join POM.GT
on program = substring(name,7,4)
where LENGTH(name)= 25
上記の一時テーブルを作成する最も簡単な方法は何ですか?
一時テーブルを作成することもできますが(必要な場合もあります)、まだわからない場合は、次のようなクエリで仮想一時テーブルを作成できることを指摘しておきます。
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
共通テーブル式(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;