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

Откуда:
Сообщений: 26
подскажите почему такая фишка с 3 JOIN не проходит?

select st.NAME,su.SNAME from POL st JOIN SPOL su JOIN TPOL em ON st.POL_ID = em.POL_ID AND em.SPOL_ID = su.SPOL_ID


подчеркивает
ON STUDENT.STUDENT_ID при наведении пишет "не удалось выполнить привязку составного оператора"

при выполнение пишет
Неправильный синтаксис около конструкции "SPOL_ID".
11 апр 12, 20:53    [12402070]     Ответить | Цитировать Сообщить модератору
 Re: синтаксическая ошибка в запросе  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
select st.NAME,su.SNAME
from POL st
     JOIN
      SPOL su
      JOIN TPOL em
      ON st.POL_ID = em.POL_ID AND em.SPOL_ID = su.SPOL_ID
     ON ... где???????
Внутренний JOIN при этом связывает su и em и ни про какое st не знает!
Ибо внешний JOIN логически ещё не завершён.
11 апр 12, 20:59    [12402105]     Ответить | Цитировать Сообщить модератору
 Re: синтаксическая ошибка в запросе  [new]
borovik
Member

Откуда:
Сообщений: 26
спасибо разобрался, почитал в инете.
траблом стала: кривая методичка где было именно так...
11 апр 12, 21:08    [12402168]     Ответить | Цитировать Сообщить модератору
 Re: синтаксическая ошибка в запросе  [new]
GlebZ
Member

Откуда: USA
Сообщений: 286
Скорее всего там должно быть типа этого:
select st.NAME,su.SNAME 
from POL st 
JOIN SPOL su 
     JOIN TPOL em 
           ON em.SPOL_ID = su.SPOL_ID
       ON st.POL_ID = em.POL_ID
11 апр 12, 21:32    [12402327]     Ответить | Цитировать Сообщить модератору
 Re: синтаксическая ошибка в запросе  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
GlebZ
Скорее всего там должно быть типа этого:
select st.NAME,su.SNAME 
from POL st 
JOIN SPOL su 
     JOIN TPOL em 
           ON em.SPOL_ID = su.SPOL_ID
       ON st.POL_ID = em.POL_ID
или
select st.NAME,su.SNAME 
from POL st 
JOIN TPOL em ON st.POL_ID = em.POL_ID
JOIN SPOL su ON em.SPOL_ID = su.SPOL_ID;
11 апр 12, 21:47    [12402422]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить