为什么我无法从某些选定的结果中进行选择?

时间:2014-04-17 08:02:49

标签: sql tsql

我对TSQL编程有点新意。我正在使用MS SQL Server 2008 R2。

为什么以下查询无效?我认为一个选择查询只返回一堆记录,我仍然可以从这些记录中选择。

select * from
(
select * from dbo.[sometable]
)

3 个答案:

答案 0 :(得分:4)

select * from
(
select * from dbo.[sometable]
) as X 

如果使用FROM子查询,你总是需要创建别名,即使你以后没有使用这个别名也就是这样做。

答案 1 :(得分:3)

我想从sometable中选择所有记录然后这应该就够了

select * from dbo.[sometable]

但是,如果要根据其他表中的值过滤一个表的记录,则可以使用嵌套查询,如

select * from table1 where id in (select id from table2)

或者您可以使用

等联接
select * from table1 t
join table2 t2 on t.id = t2.id

答案 2 :(得分:1)

SELECT * 
FROM
    (SELECT *
     FROM dbo.[sometable]
    )
AS [NAME]

您需要包含要由外部查询

引用的子查询的别名