Sql 子查询中的主查询结果

Sql 子查询中的主查询结果,sql,Sql,如何在子查询中将主查询结果集的引用用作源表 表A、表C Select (Select * From a) From (Select tabA.* From A tabA Join C tabC On tabA.id = tabC.id) as a 我在这里得到了一个无效的对象错误可能,您需要一个公共表表达式CTE: with a as ( select tabA.*

如何在子查询中将主查询结果集的引用用作源表

表A、表C

Select 
       (Select * From a) 
  From 
       (Select tabA.* 
          From A tabA 
          Join C tabC 
            On tabA.id = tabC.id) as a

我在这里得到了一个无效的对象错误

可能,您需要一个公共表表达式CTE:

with a as (
      select tabA.*
      from A tabA Join
           C tabC
           on tabA.id = tabC.id
     )
Select (Select * from a)
From a;

也就是说,你的质疑毫无意义。由于行数或列数的原因,标量子查询可能会返回错误。

如果使用sqlserver,则会根据下面的查询修改查询

从中选择*
从A.EmployeeID=B.EmployeeID A上的表A内部联接表B中选择A.*A

1用您正在使用的数据库标记您的问题。2提供样本数据和期望的结果。处理数百万数据是否足够快。当我在嵌套查询中使用引用两到三次时?@Abhishek。如果您有一个性能问题,那么再问另一个问题,更好地描述您正在做什么,并提供适当的数据库标记。这个问题很清楚是关于语法的,并且已经被回答了不止一次。