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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.03.2005, 11:11   #1  
Юлия Кузнецова is offline
Юлия Кузнецова
Участник
 
3 / 10 (1) +
Регистрация: 02.03.2005
Адрес: Санкт-Петербург
Query: 2 присоединенные таблицы 1:n
Задача: отобрать номенклатуры, которые
1) есть в строках заказов с ценой = 10
2) есть в строках закупок с ценой = 20

На справочнике номенклатур строим стандартный фильтр: цепляем к картотеке номенклатур строки заказа и строки закупки. Добавляем фильтры:
Строки заказа, Цена/ед., "10"
Строки закупки, Цена/ед., "20"

Т.о. у нас к одной таблице присоединены 2 со связями 1:n и с фильтром по ним. Я не знаю, как программно строить такие запросы.

Стандартный фильтр работает. Смотрим через мониторинг SQL запросов, что он строит:

------------------
SELECT

<куча полей>

FROM INVENTTABLE A(NOLOCK) ,INVENTTABLEMODULE B(NOLOCK) ,INVENTTABLEMODULE C(NOLOCK) ,INVENTTABLEMODULE D(NOLOCK) ,INVENTITEMLOCATION E(NOLOCK) WHERE (A.DATAAREAID='fin') AND ((B.DATAAREAID='fin') AND ((B.MODULETYPE=1) AND (A.ITEMID=B.ITEMID))) AND ((C.DATAAREAID='fin') AND ((C.MODULETYPE=0) AND (A.ITEMID=C.ITEMID))) AND ((D.DATAAREAID='fin') AND ((D.MODULETYPE=2) AND (A.ITEMID=D.ITEMID))) AND ((E.DATAAREAID='fin') AND ((E.INVENTDIMID=' Axapta') AND (A.ITEMID=E.ITEMID))) AND

EXISTS (SELECT 'x' FROM SALESLINE F(NOLOCK)
WHERE ((F.DATAAREAID='fin') AND ((F.SALESPRICE=1.E1) AND (A.ITEMID=F.ITEMID))) AND

EXISTS (SELECT 'x' FROM PURCHLINE G(NOLOCK) WHERE ((G.DATAAREAID='fin') AND ((G.PURCHPRICE=2.E1) AND (A.ITEMID=G.ITEMID)))))
ORDER BY A.DATAAREAID,A.ITEMID OPTION(FAST 1,LOOP JOIN)
------------------

Видим 2 вложенных подзапроса.

Вопрос: как такое построить программно, используя Query?
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Advanced query range value expressions: поле таблицы - имя вcтроенной функции year(). ATimTim DAX: Программирование 12 27.03.2009 18:16
palleagermark: Sample union query from AX 2009 Blog bot DAX Blogs 0 11.07.2008 20:05
И снова Query и временные таблицы Def DAX: Программирование 19 08.12.2006 15:46
Dynamics AX Geek: Using query() Blog bot DAX Blogs 0 28.10.2006 16:40
Можно делать join таблицы к себе же через Query? korvin DAX: Программирование 13 02.03.2006 11:51

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

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

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