在 SQL 中使用整个查询作为表名

ASu*_*uit 5 sql select subquery ms-access-2010

如何将整个 select 语句查询命名为表-->

(选择列1、列2、列3

来自客户..

其中 col1....) 作为表 1;

我想对 3 个表执行此操作,然后继续在相同的 SQL 语法中使用它们。我稍后对这些表(Table1、Table2、Table3)执行的操作是将它们组合(TableX),使用一些过滤器对 Table1 中的值进行计数,并显示为 TableX 旁边的列。

我能够在 Microsoft Access 中执行此操作,因为我可以存储所有三个表,使用过滤器单独操作它们,然后编写单独的查询来组合和计数并将结果显示为一个最终表。我无法用 SQL 编写单个开始到结束的查询。请帮忙!

hca*_*xam 6

您说可以使用 Microsoft Access 来完成此操作,所以我假设您现在不会尝试使用它。

在T-SQL(SQL Server)中,您可以使用WITH

WITH Tab1 AS (
  SELECT
    * 
  FROM
    TabA
),  Tab2 AS (
  SELECT
    * 
  FROM
    TabB
), Tab3 AS (
  SELECT
    * 
  FROM
    TabC
)

SELECT
  *
FROM
  Tab1
INNER JOIN
  Tab2
ON
  1=1
INNER JOIN
  Tab3
ON
  1=1
Run Code Online (Sandbox Code Playgroud)