Child pages
  • QBJoin
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 20 Next »

Refresh page May 04, 2024 20:42

Supported Clients
SmartClient WebClient NGClient

Constants Summary
Number FULL_JOIN Constant for the joinType of a join or a relation.
Number INNER_JOIN Constant for the joinType of a join or a relation.
Number LEFT_OUTER_JOIN Constant for the joinType of a join or a relation.
Number RIGHT_OUTER_JOIN Constant for the joinType of a join or a relation.

Property Summary
QBColumns columns Get all the columns of the datasource that can be used for this query (select or where clause)
Number joinType Returns the join type, one of IQueryBuilderJoin#LEFT_OUTER_JOIN, IQueryBuilderJoin#INNER_JOIN, IQueryBuilderJoin#RIGHT_OUTER_JOIN, IQueryBuilderJoin#FULL_JOIN
QBJoins joins Get the joins clause of this table based clause.
QBLogicalCondition on Get the on clause for the join.
QBTableClause parent Get query builder parent table clause, this may be a query or a join clause.
QBSelect root Get query builder parent.

Methods Summary
QBColumn getColumn(name) Get a column from the table.
QBColumn getColumn(columnTableAlias, name) Get a column from the table with given alias.
String getDataSource() Returns the datasource for this.
String getTableAlias() Returns the table alias for this.

Constants Details

FULL_JOIN

Constant for the joinType of a join or a relation. It is also used in solutionModel.newRelation(...) and in the QueryBuilder.

Returns

Supported Clients

SmartClient,WebClient,NGClient

Sample

var query = datasources.db.example_data.orders.createSelect();
 /** @type {QBJoin<db:/example_data/order_details>} */
	var join = query.joins.add('db:/example_data/order_details', QBJoin.INNER_JOIN, 'odetail')
	join.on.add(join.columns.orderid.eq(query.columns.orderid))

INNER_JOIN

Constant for the joinType of a join or a relation. It is also used in solutionModel.newRelation(...) and in the QueryBuilder.

Returns

Supported Clients

SmartClient,WebClient,NGClient

Sample

var query = datasources.db.example_data.orders.createSelect();
 /** @type {QBJoin<db:/example_data/order_details>} */
	var join = query.joins.add('db:/example_data/order_details', QBJoin.INNER_JOIN, 'odetail')
	join.on.add(join.columns.orderid.eq(query.columns.orderid))

LEFT_OUTER_JOIN

Constant for the joinType of a join or a relation. It is also used in solutionModel.newRelation(...) and in the QueryBuilder.

Returns

Supported Clients

SmartClient,WebClient,NGClient

Sample

var query = datasources.db.example_data.orders.createSelect();
 /** @type {QBJoin<db:/example_data/order_details>} */
	var join = query.joins.add('db:/example_data/order_details', QBJoin.INNER_JOIN, 'odetail')
	join.on.add(join.columns.orderid.eq(query.columns.orderid))

RIGHT_OUTER_JOIN

Constant for the joinType of a join or a relation. It is also used in solutionModel.newRelation(...) and in the QueryBuilder.

Returns

Supported Clients

SmartClient,WebClient,NGClient

Sample

var query = datasources.db.example_data.orders.createSelect();
 /** @type {QBJoin<db:/example_data/order_details>} */
	var join = query.joins.add('db:/example_data/order_details', QBJoin.INNER_JOIN, 'odetail')
	join.on.add(join.columns.orderid.eq(query.columns.orderid))

Property Details

columns

Get all the columns of the datasource that can be used for this query (select or where clause)

Returns

Supported Clients

SmartClient,WebClient,NGClient

Sample

var query = foundset.getQuery();
query.result.add(query.columns.name, "name");
query.where.add(query.columns.orderdate.isNull)

joinType

Returns the join type, one of IQueryBuilderJoin#LEFT_OUTER_JOIN, IQueryBuilderJoin#INNER_JOIN, IQueryBuilderJoin#RIGHT_OUTER_JOIN, IQueryBuilderJoin#FULL_JOIN

Returns

Supported Clients

SmartClient,WebClient,NGClient

Sample

 

joins

Get the joins clause of this table based clause.
Joins added to this clause will be based on this table clauses table.

Returns

Supported Clients

SmartClient,WebClient,NGClient

Sample

foundset.getQuery().joins

on

Get the on clause for the join.

Returns

Supported Clients

SmartClient,WebClient,NGClient

Sample

var query = datasources.db.example_data.person.createSelect();
/** @type {QBJoin<db:/example_data/person>} */
var join1 = query.joins.add('db:/example_data/person')
join1.on.add(query.columns.parent_person_id.eq(join1.columns.person_id))
/** @type {QBJoin<db:/example_data/person>} */
var join2 = query.joins.add('db:/example_data/person')
join2.on.add(join1.columns.parent_person_id.eq(join2.columns.person_id))

query.where.add(join2.columns.name.eq('john'))
foundset.loadRecords(query)

parent

Get query builder parent table clause, this may be a query or a join clause.

Returns

Supported Clients

SmartClient,WebClient,NGClient

Sample

var query = datasources.db.example_data.person.createSelect();
	query.where.add(query.joins.person_to_parent.joins.person_to_parent.columns.name.eq('john'))
	foundset.loadRecords(query)

root

Get query builder parent.

Returns

Supported Clients

SmartClient,WebClient,NGClient

Sample

var subquery = datasources.db.example_data.order_details.createSelect();

	var query = datasources.db.example_data.orders.createSelect();
	query.where.add(query
		.or
			.add(query.columns.order_id.not.isin([1, 2, 3]))

			.add(query.exists(
					subquery.where.add(subquery.columns.orderid.eq(query.columns.order_id)).root
			))
		)

	foundset.loadRecords(query)

Methods Details

getColumn(name)

Get a column from the table.

Parameters

String name the name of column to get

Returns

Supported Clients

SmartClient,WebClient,NGClient

Sample

foundset.getQuery().getColumn('orderid')

getColumn(columnTableAlias, name)

Get a column from the table with given alias.
The alias may be of the main table or any level deep joined table.

Parameters

String columnTableAlias the alias for the table
String name the name of column to get

Returns

Supported Clients

SmartClient,WebClient,NGClient

Sample

foundset.getQuery().getColumn('orderid', 'opk')

getDataSource()

Returns the datasource for this.

Returns

Supported Clients

SmartClient,WebClient,NGClient

Sample

 

getTableAlias()

Returns the table alias for this.

Returns

Supported Clients

SmartClient,WebClient,NGClient

Sample

 

  • No labels