如何在左外连接中使用CTE?

时间:2011-10-10 01:15:20

标签: sql tsql sql-server-2008

我正在尝试将公用表表达式连接到现有表(table1),如下所示。

select column1, column2 from table1

left outer join

  ;with cte as (
    select column1, column2 from table2)

  select column1, column2 from cte

on table1.column1 = cte.column1

错误是:

  1. ';'附近的语法不正确。
  2. 关键字“on”附近的语法不正确。
  3. 我做错了什么?我应该使用CTE来完成这项任务吗?

1 个答案:

答案 0 :(得分:17)

CTE必须在查询开始时出现。

with cte as (
    select column1, column2 from table2
)
select column1, column2 from table1
   LEFT JOIN cte
on table1.column1 = cte.column1;