Queryでテーブル結合(Join)を行うには、
joinMode の設定をします。
Query query = new Query();
QueryBuildDataSource queryBuildDSSalesTable;
QueryBuildDataSource queryBuildDSSalesLine;
QueryBuildRange queryBuildRange;
QueryRun queryRun;
SalesLine salesLine;
SalesTable salesTable;
;
// Setup the primary datasource.
queryBuildDSSalesTable = query.addDataSource(tablenum(SalesTable));
queryBuildDSSalesTable.addRange(fieldnum(SalesTable,SalesId)).value('00001_036');
// Setup the secondary (joined) datasource.
queryBuildDSSalesLine = queryBuildDSSalesTable.addDataSource(tablenum(SalesLine));
queryBuildDSSalesLine.joinMode(JoinMode::InnerJoin);
queryBuildDSSalesLine.relations(true);
queryRun = new QueryRun(query);
while(queryRun.next())
{
salesTable = queryRun.get(tablenum(SalesTable));
salesLine = queryRun.get(tablenum(SalesLine));
info(strfmt('%1 %2', salesTable.SalesId, salesLine.Name));
}
※SalesLineには、SalesIdをキーにした
SalesTableへのリレーションが存在する。
最終更新:2012年06月01日 14:49