Показать сообщение отдельно
Старый 08.06.2006, 18:14   #19  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2480 (88) +++++++++
Регистрация: 20.08.2005
2 MironovI
Да, уверен.
Вот запрос в первом случае
X++:
SELECT *
FROM  {oj INVENTTABLE A LEFT OUTER JOIN CUSTVENDEXTERNALITEM B ON 
((B.DATAAREAID='dem') AND ((B.EXTERNALITEMID='121') AND (A.ITEMID=B.ITEMID)))} 
WHERE (A.DATAAREAID='dem')
Обратите внимание, что ограничение EXTERNALITEMID = '121', накладывает на условие связи Outer Join, т.е. выберутся все записи InventTable и для них только те записи CUSTVENDEXTERNALITEM для которых это условие выполняется

Вот запрос с добавлением еще одной таблицы
X++:
SELECT *
FROM  {oj INVENTTABLE A LEFT OUTER JOIN CUSTVENDEXTERNALITEM B 
ON ((B.DATAAREAID='dem') AND (A.ITEMID=B.ITEMID))},
CUSTVENDEXTERNALITEM C(NOLOCK)  
WHERE (A.DATAAREAID='dem') AND ((C.DATAAREAID='dem') AND ((C.EXTERNALITEMID='121') AND (A.ITEMID=C.ITEMID))) 
ORDER BY A.DATAAREAID,A.ITEMID
Т.е. ограничение уже накладывается на InventTable
__________________
Axapta v.3.0 sp5 kr2