AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.02.2014, 16:09   #1  
McArrow is offline
McArrow
Участник
 
45 / 38 (2) +++
Регистрация: 18.05.2009
Вложенные Notexists Join в запросе
Здравствуйте, коллеги.

В очередной раз столкнулся с проблемой, связанной с объединением таблиц методом NotExists Join в запросе. Решил тактической расстановкой костылей в нужных местах, но осадочек остался . Может всё-таки есть решение? Используется DAX 4 SP 2. Ещё интересно, есть ли решение в более поздних версиях системы.

Вот такой вот запрос:
X++:
	select recid from table1
	notExists join table2
		where table2.Id == table1.Table2Id
	notExists join table3
		where table3.Id == table1.Table3Id
транслируется в sql следующим образом:

X++:
SELECT A.recid
FROM
    table1 A
WHERE
    A.DATAAREAID='DAT'
AND NOT EXISTS (SELECT 'x'
    			FROM table2 C
    			WHERE C.DATAAREAID='DAT'
    			AND C.Id=A.Table2Id
    			AND NOT EXISTS (SELECT 'x'
    							FROM table3 B
    							WHERE
    							B.DATAAREAID='DAT'
    							AND B.Id=A.Table3Id))
а хочется вот так:

X++:
SELECT A.recid
FROM
    table1 A
WHERE
    A.DATAAREAID='DAT'
AND NOT EXISTS (SELECT 'x'
    			FROM table2 C
    			WHERE C.DATAAREAID='DAT'
    			AND C.Id=A.Table2Id)
AND NOT EXISTS (SELECT 'x'
    			FROM table3 B
    			WHERE B.DATAAREAID='DAT'
    			AND B.Id=A.Table3Id)
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
AX2009. Не используйте NotExists Wamr DAX: Программирование 7 16.09.2020 21:45
addicted2ax: Dynamics AX 2012 & SQL Server 2008R2: Cross Join vs. Inner Join – Houston we have *NO* Problem Blog bot DAX Blogs 0 20.12.2012 20:11
Join временной таблицы в запросе yahenz DAX: Программирование 12 24.04.2012 14:59
Несколько outer join в запросе _scorp_ DAX: Программирование 2 11.04.2008 10:56
Не работают 2 notexists join savel DAX: Программирование 13 23.07.2004 13:49

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 16:21.