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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.02.2014, 10:48   #1  
McArrow is offline
McArrow
Участник
 
45 / 38 (2) +++
Регистрация: 18.05.2009
Добрался до 2009 аксапты, в ней действительно можно получить требуемый результат, но только через Query (проверено на MS SQL). К сожалению, в четвёрке не работает, видимо из-за отсутствия поддержки "разветвлённых" запросов, когда к главному датасорсу цепляется несколько вложенных.

X++:
    Query q;
    QueryBuildDatasource qbds, qbdsNE;
    QueryRun qr;
;
    q = new Query();
    qbds = q.addDataSource(tablenum(Table5), 'Table5');
    qbdsNE = qbds.addDataSource(tablenum(Table6));
    qbdsNE.joinMode(JoinMode::NoExistsJoin);
    qbdsNE.addLink(fieldnum(Table5, Table6Id), fieldnum(Table6, Id), 'Table5');
    qbdsNE = qbds.addDataSource(tablenum(Table7));
    qbdsNE.joinMode(JoinMode::NoExistsJoin);
    qbdsNE.addLink(fieldnum(Table5, Table7Id), fieldnum(Table7, Id), 'Table5');
    qr = new QueryRun(q);
    qr.next();
X++:
SELECT A.ID,A.TABLE6ID,A.TABLE7ID,A.RECVERSION,A.RECID FROM TABLE5 A 
WHERE (A.DATAAREAID='DAT') 
AND NOT EXISTS (SELECT 'x' FROM TABLE6 B WHERE ((B.DATAAREAID='DAT') AND (A.TABLE6ID=B.ID))) 
AND NOT EXISTS (SELECT 'x' FROM TABLE7 C WHERE ((C.DATAAREAID='DAT') AND (A.TABLE7ID=C.ID))) 
ORDER BY A.DATAAREAID,A.RECID
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
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, время: 11:32.