Показать сообщение отдельно
Старый 16.01.2009, 08:10   #1  
hated8 is offline
hated8
Участник
Аватар для hated8
Злыдни
 
133 / 18 (1) ++
Регистрация: 27.06.2008
:( переделать запрос sql
Здравствуйте!
Помогите плз. новичку!

столкнулся со следующей проблемой:

есть запрос,
select * from RAssetLocation join UserGroupList join RAssetTransferTable
where RAssetLocation.userGroupId == UserGroupList.GroupId &&
UserGroupList.UserId == currentUserId &&
(RAssetTransferTable.NewLocation == RAssetLocation.Location || RAssetTransferTable.OldLocation == RAssetLocation.Location)

мне необходимо добавить его к this.query() я делаю примерно следующее:

qbds = this.query().dataSourceTable(tablenum(RAssetTransferTable));
qbds = qbds.addDataSource(tablenum(RAssetLocation));
qbds.addLink(fieldNum(RAssetTransferTable,NewLocation),fieldNum(RAssetLocation,Location));
qbds.joinMode(JoinMode::InnerJoin);
qbds = qbds.addDataSource(tablenum(UserGroupList));
qbds.addLink(fieldNum(RAssetLocation,userGroupId),fieldNum(UserGroupList,groupId));
qbds.joinMode(JoinMode::InnerJoin);
qbds.addRange(fieldnum(UserGroupList, UserId)).value(currentUserId);

Но здесь идет связь по
RAssetTransferTable.NewLocation == RAssetLocation.Location,
а мне необходимо сделать:
(RAssetTransferTable.NewLocation == RAssetLocation.Location || RAssetTransferTable.OldLocation == RAssetLocation.Location)

Помогите пожалуйста...