Код:
Query q;
QueryBuildDataSource qB;
QueryBuildDataSource qB2;
QueryBuildDataSource qB3;
;
qB = q.addDataSource(tablenum(AssetBookTable));
qB.addRange(Fieldnum(AssetBookTable,CurrentOperationsTax)).value(enum2value(currentOperationsTax));
qB2 = qB.addDataSource(tablenum(AssetBook));
qB2.addLink(FieldNum(AssetBookTable,BookId),fieldNum(AssetBook,BookId));
qB2.addRange(Fieldnum(AssetBook,AssetId)).value(assetId);
qB2.joinMode(JoinMode::OuterJoin);
//(а так же NoExistsJoin, InnerJoin, EXISTSJOIN);
qB3 = qB2.addDataSource(tablenum(AssetBookTable));
qB3.addLink(FieldNum(AssetBook,BookId),fieldNum(AssetBookTable,BookId));