在SQL中将整个查询用作表名

在SQL中将整个查询用作表名,sql,select,subquery,ms-access-2010,Sql,Select,Subquery,Ms Access 2010,如何将整个select语句查询命名为表-> 选择col1、col2、col3 来自顾客 col1。。。。如表1所示 我想对3个表执行此操作,然后继续使用相同的SQL语法。我稍后对这些表Table1、Table2、Table3执行的操作是-将它们组合到TableX,使用一些过滤器对Table1中的值进行计数,并在TableX旁边显示为一列 我可以在MicrosoftAccess中实现这一点,因为我可以存储所有三个表,分别使用过滤器对它们进行操作,然后编写单独的查询以合并、计算并将结果显示为一个最终

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

选择col1、col2、col3

来自顾客

col1。。。。如表1所示

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


我可以在MicrosoftAccess中实现这一点,因为我可以存储所有三个表,分别使用过滤器对它们进行操作,然后编写单独的查询以合并、计算并将结果显示为一个最终表。我无法用SQL编写一个从开始到结束的查询。请帮忙

您说您可以使用Microsoft Access来实现这一点,所以我假设您现在不打算使用它

在T-SQL Server中,可以使用


是的,您当然可以使用别名子查询,如Access SQL中的表:

选择q1.DonorID,q1.LastName,SUMq2。金额为SumOfAmount 从…起 选择DonorID,LastName 来自TBLDONOR 姓氏如“Thomp*”的位置 作为q1 内连接 选择DonorID,Amount 从TBL氧化 其中金额<5 作为第二季度 在q1.DonorID=q2.DonorID上 按q1.DonorID、q1.LastName分组
谢谢你,戈德。这起作用了。我在这些表中有几列不匹配。所以,我必须把完整的外部连接连接起来。我现在有一个新问题。合并3个表后,我将结果导出到Excel中。在我得到的每一个空白栏上。我需要在sql查询中用空格替换它。我想在这里使用CASE语句。当col1为NULL时,[col2]结束类似的事情。我必须在表1中改变这一点。并且,在表X中显示表1、2、3的组合。请帮助!这些新查询是否将在Microsoft SQL Server下运行?它位于其中一个表中。无论如何。我解决了这部分。非常感谢你的帮助。
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