Sql 从“选择查询”中选择“进入临时”

Sql 从“选择查询”中选择“进入临时”,sql,sql-server,ssms,Sql,Sql Server,Ssms,我有一个这样的代码 Select * Into #DTemp From (Select A, B, C, D From T1 LEFT OUTER JOIN T2 ON T1.I=T2.I LEFT OUTER JOIN T3 ON T2.I = T3.I .... T6 ON T5.I = T6.I WHERE A = 'THE' AND B L

我有一个这样的代码

Select * 
Into #DTemp
From
    (Select A, B, C, D
     From 
      T1 LEFT OUTER JOIN T2 ON T1.I=T2.I
      LEFT OUTER JOIN 
      T3 ON T2.I = T3.I
      ....
      T6 ON T5.I = T6.I
           WHERE
           A = 'THE'
           AND B LIKE '%YYYY% 
           AND C >= (TIME)
     )
但我在最后一个括号中得到一个错误,它表示附近的语法不正确


不知道为什么会有错误,因为我的括号是正确的

在和B之后缺少一个引号,如“%yyy%this”。并在关闭后添加别名 检查下面代码中的箭头指针

Select * 
Into #DTemp
From
    (Select A, B, C, D
     From 
      T1 LEFT OUTER JOIN T2 ON T1.I=T2.I
      LEFT OUTER JOIN 
      T3 ON T2.I = T3.I
      ....
      T6 ON T5.I = T6.I
           WHERE
           A = 'THE'
           AND B LIKE '%YYYY%'  //<---
           AND C >= (TIME)
     ) tablenamehere  //<---

您需要向派生表中添加别名:C>=TIME,因为AOr只需完全删除外部查询。这只会给查询增加混乱。为什么在查询的末尾需要有TableName?@EnaVu因为派生表就是这样工作的,所以需要给它们一个别名,即别名。您尝试过子查询的行为类似于表名,因此需要为其添加名称谢谢@拉马克和皮尤斯