Как использовать CTE в левом внешнем соединении? - PullRequest
7 голосов
/ 10 октября 2011

Я пытаюсь присоединить общее табличное выражение к существующей таблице (таблица1) следующим образом.

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.

Что я делаю не так? Должен ли я использовать CTE для этой задачи?

1 Ответ

18 голосов
/ 10 октября 2011

CTE должен идти в начале запроса.

with cte as (
    select column1, column2 from table2
)
select column1, column2 from table1
   LEFT JOIN cte
on table1.column1 = cte.column1;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...