21.03.2007, 11:07 | #1 |
Участник
|
Как собрать запрос?
Мне нужно реализовать в аксапте вот такой запрос:
Код: SELECT * FROM OutlookTaskTable A INNER JOIN EmplTable B ON A.User = B.EmplId WHERE A.USER = 'ANV' OR B.HRMORGANIZATIONID = 'IS' Подробнее: Есть два запроса такой: 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. |
|