首页 > 解决方案 > 如何在 DBVisualizer 中一次在单个查询中执行多个临时表?

问题描述

我加入了一家新公司,他们正在使用 DBVisualizer。在过去的 5 年中,我使用了 SQL Server,现在我很欣赏 SQL Server 的智能查询执行能力。

我面临的问题之一是一次执行多个临时表。例如,尝试执行以下操作会引发错误,提示 #abc 不可用。这在 SQL Server 中不是问题,因为它曾经巧妙地执行它。

drop table if exists #abc;
create table #abc as
select a.ID, a.EMP
from sandbox.table1 as a

drop table if exists #cde;
create table #cde as
select a2.ID, sum(a1.sum) as Rev
from sandbox.table2 as a1
join #abc as a2 on a1.ID = a2.ID
group by a2.ID

标签: sqlsql-serverpostgresqldbvisualizer

解决方案


如果您希望在运行时将某些查询用作表,请尝试WITH它将帮助您在运行时为特定查询创建临时视图。那么您可以将此查询输出用作表并使用它。

例子 -

with userTBL as ( 
  select * 
  from user  
  where activated=true
),
usertiming as (
  select date,userID
  from timingtabls
  where date=currentdate
) 
select * from userTBL left join timing t on t.userID=id;

推荐阅读