Показать сообщение отдельно
Старый 21.03.2007, 11:07   #1  
moid is offline
moid
Участник
 
84 / 10 (1) +
Регистрация: 05.02.2007
Как собрать запрос?
Мне нужно реализовать в аксапте вот такой запрос:
Код:
SELECT * FROM OutlookTaskTable A
INNER JOIN EmplTable B ON A.User = B.EmplId
WHERE A.USER = 'ANV' OR B.HRMORGANIZATIONID = 'IS'
Проблема как добавить условие по OR


Подробнее:

Есть два запроса

такой:
X++:
               StrRange = '(((OutlookTaskTable.Ot = "%1") || (OutlookTaskTable.User = "%2")))';
               rq = OutlookTaskTable_q.dataSourceTable(TableNum(OutlookTaskTable)).addRange(FieldNum(OutlookTaskTable, RecId));
               rq.value(strfmt(StrRange, CurUserId(), CurUserId()));
и такой:
X++:
               ds = OutlookTaskTable_q.dataSourceTable(TableNum(OutlookTaskTable));

               ds2 = OutlookTaskTable_q.dataSourceTable(TableNum(EmplTable));
               if (!ds2)
               {
                  ds2 = ds.addDataSource(TableNum(EmplTable));
                  ds2.addLink(FieldNum(OutlookTaskTable, User), FieldNum(EmplTable, EmplId));
                  ds2.joinMode(JoinMode::ExistsJoin);
                  ds2.addRange(FieldNum(EmplTable, HRMOrganizationId)).value(ArrayStr);
               }
               else ds2.findRange(FieldNum(EmplTable, HRMOrganizationId)).value(ArrayStr);
Если я их пишу вместе, то получается они работают как условие"И". Как сделать, чтобы второй запрос присоединялся к первому как условие"ИЛИ"?

Второй запрос смотрит поле User из таблицы OutlookTaskTable и проверяет по таблице EmplTable принадлежность к подразделению CurUserId().

Последний раз редактировалось moid; 21.03.2007 в 13:53.