Показать сообщение отдельно
Старый 26.09.2005, 10:35   #1  
Smith is offline
Smith
Участник
 
76 / 10 (1) +
Регистрация: 02.09.2004
Выбор максимального подтверждения по заказу.
Доброе утро!

Нужно из журнала подтверждений CustConfirmJour выбирать в цикле данные. При этом подразумевается, что на один заказ нужно выводить одну строку, а в таблице их может быть несколько. Отличаются они помимо всего прочего значением поля "Подтверждение" - ConfirmDocNum (это не порядковый номер подтверждения). Если на один заказ несколько строк, то должна выводиться строка с максимальным значением этого поля.

Стандартная группировка не подходит - поля в селекте мешают.
Пробовал такой вариант:

PHP код:
CustConfirmJour      custConfirmJour;
CustConfirmJour     custCJ;
;
    while 
select SalesIdrecidconfirmdocnum
        from custConfirmJour join salesid
maxof(confirmdocnum)
        
from custCJ group by SalesId
        where custConfirmJour
.SalesId == custCJ.SalesId &&
              
custConfirmJour.confirmdocnum == custCJ.confirmdocnum
    
{
         print(
custConfirmJour.SalesId +
         
' ' int2str(custConfirmJour.recid) + ' ' custConfirmJour.confirmdocnum);
    } 
Не проходит - возвращается пустой набор.
В обычном СКЛ можно было бы сделать
where custConfirmJour.confirmdocnum in (select ... )
но мы в аксапте, а здесь свои правила