Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 JOIN результата селекта  [new]
SiNtez_26
Member

Откуда:
Сообщений: 199
Парни, всем привет.
Столкнулся с непостижимой (лично для меня) проблемой: джойню к таблице селект но ничего не выходит. Делаю так:
SELECT *
FROM TABLE1 as t1
LEFT JOIN (SELECT *,
                  CASE
                      WHEN MAX(F1) BETWEEN 1 AND 10 THEN 1
                      ELSE 0
                  END AS JOIN_FIELD
           FROM TABLE2
           GROUP BY F2) AS jt ON t1.Field = jt.Field

Причем, если селект внутри джойна простой:
SELECT * FROM TABLE1

то все прекрасно. Ошибка у меня, или есть ограничение на подобные джойны?
11 окт 13, 17:13    [14957765]     Ответить | Цитировать Сообщить модератору
 Re: JOIN результата селекта  [new]
Glory
Member

Откуда:
Сообщений: 104751
SiNtez_26
Ошибка у меня

У вас. Причем вы ее не читаете
11 окт 13, 17:16    [14957779]     Ответить | Цитировать Сообщить модератору
 Re: JOIN результата селекта  [new]
SiNtez_26
Member

Откуда:
Сообщений: 199
Некорректный синтаксис около ")". Только вот неясно почему. Ну лично мне
11 окт 13, 17:18    [14957787]     Ответить | Цитировать Сообщить модератору
 Re: JOIN результата селекта  [new]
Гость333
Member

Откуда:
Сообщений: 3683
SiNtez_26
ничего не выходит

Msg 15111, Level 16, State 62, Line 1
Ничего не выходит!
11 окт 13, 17:18    [14957788]     Ответить | Цитировать Сообщить модератору
 Re: JOIN результата селекта  [new]
Glory
Member

Откуда:
Сообщений: 104751
SiNtez_26
Некорректный синтаксис около ")". Только вот неясно почему. Ну лично мне

Наверное потому, что некорректент запрос
SELECT *,
CASE
WHEN MAX(F1) BETWEEN 1 AND 10 THEN 1
ELSE 0
END AS JOIN_FIELD
FROM TABLE2
GROUP BY F2

в отличии от
SELECT * FROM TABLE1
11 окт 13, 17:20    [14957799]     Ответить | Цитировать Сообщить модератору
 Re: JOIN результата селекта  [new]
SiNtez_26
Member

Откуда:
Сообщений: 199
Да, точно, спасибо, заметил
11 окт 13, 17:20    [14957805]     Ответить | Цитировать Сообщить модератору
 Re: JOIN результата селекта  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2415
SiNtez_26,

вы вначале добейтесь чтобы ваш неправильный подзапрос

SELECT *,
CASE
WHEN MAX(F1) BETWEEN 1 AND 10 THEN 1
ELSE 0
END AS JOIN_FIELD
FROM TABLE2
GROUP BY F2

отдельно исправился, и отработал
11 окт 13, 17:22    [14957815]     Ответить | Цитировать Сообщить модератору
 Re: JOIN результата селекта  [new]
SiNtez_26
Member

Откуда:
Сообщений: 199
Уже все, немного не в том формате тестил. Ошибки всегда там, где их ну ни разу не ждешь
11 окт 13, 17:24    [14957824]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить