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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.11.2004, 08:18   #1  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Связь таблиц InventTrans и PurchLine
Здравствуйте!!!!

Помогите разобраться в следующей проблеме:

Высчитываю остаток по номенклатурам на дату :
WHILE
SELECT ItemId, sum(Qty), sum(CostAmountPosted)
FROM inventTrans
GROUP BY ItemId
WHERE InventTrans.DateFinancial < fromDate &&
InventTrans.StatusIssue != StatusIssue::OnOrder &&
InventTrans.StatusIssue != StatusIssue::Picked &&
InventTrans.StatusIssue != StatusIssue::ReservOrdered &&
InventTrans.StatusIssue != StatusIssue::ReservPhysical &&
InventTrans.StatusIssue != StatusIssue::QuotationIssue &&
InventTrans.StatusReceipt != StatusReceipt::Registered &&
InventTrans.StatusReceipt != StatusReceipt::Arrived &&
InventTrans.StatusReceipt != StatusReceipt::QuotationReceipt &&
InventTrans.StatusReceipt != StatusReceipt::Ordered &&
InventTrans.PackingSlipReturned == 0
JOIN inventDimTbl
WHERE
inventDimTbl.InventDimId == inventTrans.InventDimId &&
(isLocationSpecified == true && inventDimTbl.InventLocationId LIKE inventLocationId || isLocationSpecified == false) &&
(isBaileeSpecified == true && inventDimTbl.InChargeId_RU LIKE baileeId || isBaileeSpecified == false)
JOIN ItemName, NameAlias, ItemGroupId
FROM inventTable
GROUP BY ItemName, NameAlias, ItemGroupId
WHERE
inventTrans.ItemId == inventTable.ItemId &&
(isBuyerGroup == true && inventTable.ItemBuyerGroupId LIKE BuyerGroup || isBuyerGroup == false)
JOIN UnitId
FROM inventTableModule
GROUP BY UnitId
WHERE
inventTrans.ItemId == inventTableModule.ItemId &&
inventTableModule.ModuleType == ModuleInventPurchSales::Invent

результат правильный . Пытаюсь связать с таблицей PurchLine , добавляю к вышеуказанному запросу следующее :

...............................
JOIN dimension PurchLine
GROUP BY dimension
WHERE
PurchLine.InventTransId == inventTrans.InventTransId &&
PurchLine.ItemId == inventTrans.ItemId

т.е я хочу подвязать к основному запросу PurchLine, и брать оттуда dimension , и только для тех itemId , которые вышли в основном запросе . Однако в результате я получаю какие то левые строки. Скажите правильно ли я делаю. Может все таки надо связывать как то иначе?
Старый 25.11.2004, 11:21   #2  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Хм... тяжело сказать прям так сразу..

1) Сначала делай все в Job'e. Просто запрос, а в теле запроса "info"й выводи данные. Так легче отлаживать.
2) Попробуй поменять порядок применения join ов
3) Пересмотри структуру запроса. 3 вложеных джоина - нормально 5 - уже не очень хорошо. Больше 5, я считаю - очень плохо. Чо-то не так в логической связке... или что-то можно получить, не связывая таблицы.

С Уважением,
Георгий.
Старый 25.11.2004, 12:23   #3  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Спасибо , я пошел другим путем, не стал джонить а использовал метод Find таблицы PurchLine
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Связь VendInvoiceTrans и PurchLine vadimiron DAX: Программирование 17 29.08.2008 08:59
Query из 7 таблиц Cornflower DAX: Программирование 29 15.03.2007 11:27
Связь таблиц CustPackingSlipTrans и SalesLine Ruff DAX: Программирование 4 06.09.2005 16:09
Невидимая связь двух таблиц в формах ArturK DAX: Программирование 11 11.03.2004 18:18
Связь двух таблиц daemon DAX: Программирование 10 20.11.2003 16:32

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

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

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