Здравствуйте, коллеги.
В очередной раз столкнулся с проблемой, связанной с объединением таблиц методом 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)