2017-07-25 92 views
1

我正在寻找将两个表加入临时表,然后在选择查询中使用临时表。这是我想要创建的临时表的select语句:SQL - 创建加入的临时表

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

什么是为上述创建临时表的最简单方法?

回答

1
select program, event 
into #temp --------------------------------check here 
from OMEGA.HP 
inner join POM.GT 
on program = substring(name,7,4) 
where LENGTH(name)= 25 
0

您可以创建一个临时表(和你可能想),但如果你不知道的,我想指出,你可以在这样

查询创建一个虚拟的临时表
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 
0

使用公用表表达式(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;