Re: невозможно привязать к таблице кот. участвует в =* MS SQ
От: anddros  
Дата: 06.02.09 16:46
Оценка:
Здравствуйте, vlaban, Вы писали:

V>столкнулся с непонятностью в MS SQL в использовнии этого соединения таблиц с помьщью =*

V>Кратко: запрос

V>SELECT c_event.d_ev,

V>c_event.c_event,
V>C_EVENT.c_cus_se c_custom,
V>c_event.c_event
V>m_doc_sr.customer
V>FROM (select m_doc_sr.c_event, lpu.customer from ic_as.dbo.m_doc_sr, ic_as.dbo.c_custom lpu
V>where m_doc_sr.c_cus_my = LPU.c_custom) m_doc_sr,
V>dbo.c_event
V>WHERE m_doc_sr.c_event =* c_event.c_event

V>т.е. невозможно привязать к таблице, кот. перед =* (в моем случае m_doc_sr.c_event) еще что нибудь. Хотя идет полная однозначность, привязка должна быть по c_event, т.е. тех c_event кот. нет в m_doc_sr должен выставляться NULL.


V>выдается ошибка


V>Msg 303, Level 16, State 1, Line 1

V>The table 'dbo.m_doc_sr' is an inner member of an outer-join clause. This is not allowed if the table also participates in a regular join clause.

V>Как это реализовать?


V>Спасибо




SELECT c_event.d_ev, 
c_event.c_event,
C_EVENT.c_cus_se c_custom,
c_event.c_event
m_doc_sr.customer
FROM (select m_doc_sr.c_event, lpu.customer from ic_as.dbo.m_doc_sr, ic_as.dbo.c_custom lpu 
where m_doc_sr.c_cus_my = LPU.c_custom) m_doc_sr_1,
dbo.c_event
WHERE m_doc_sr_1.c_event =* c_event.c_event
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.