Показать сообщение отдельно
Старый 10.04.2008, 18:37   #1  
_scorp_ is offline
_scorp_
Участник
Аватар для _scorp_
MCBMSS
 
488 / 369 (13) ++++++
Регистрация: 25.07.2007
Адрес: Москва
Несколько outer join в запросе
Добрый день. Хочу в отчетах получить названия аналитик вместо их кодов. Пытаюсь сделать примерно следующее:
X++:
static void Job(Args _args)
{
    LedgerTrans ledgerTrans;
    Dimensions  dimensions1, dimensions2, dimensions3;
    ;
    while select sum(AmountMST) from ledgerTrans group by Dimension
    outer join dimensions1 group by Description
        where dimensions1.Num           == ledgerTrans.Dimension[1] &&
              dimensions1.DimensionCode == SysDimension::Department
    outer join dimensions2 group by Description
        where dimensions2.Num           == ledgerTrans.Dimension[2] &&
              dimensions2.DimensionCode == SysDimension::Center
    outer join dimensions3 group by Description
        where dimensions3.Num           == ledgerTrans.Dimension[3] &&
              dimensions3.DimensionCode == SysDimension::Purpose
    {
        print (strfmt("%1 %2 %3", dimensions1.Description, dimensions2.Description, dimensions3.Description));
    }
    pause;
}
При выполнении:
Невозможно выбрать запись в Аналитики (Dimensions)
Использован оператор объединения таблиц join, но выражение where не содержит связи между таблицами

Если убрать outer то все выполняется нормально, но мне нужен именно outer. Или если оставить только один outer - тоже все нормально. Подобный запрос написал на голом SQL - проверил, работает нормально. Как в аксапте сделать такое?