Child pages
  • QBJoins

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Rev: 1381948887907

...

HTML Table
id
classservoy sSummary
Colgroup Tag
Column
padding0px
width80px

Column

Table Row (tr)
styleheight: 30px;
Table Head (th)
colspan2
Property Summary
tbody
Table Body (tbody)
Table Row (tr)
Table Cell (td)
QBTableClause
Table Cell (td)
#parentparent
Get query builder parent table clause, this may be a query or a join clause.
Table Row (tr)
Table Cell (td)
QBSelect
Table Cell (td)
#rootroot
Get query builder parent.

HTML Table
id
classservoy sSummary
Colgroup Tag
Column
padding0px
width80px

Column

Table Row (tr)
styleheight: 30px;
Table Head (th)
colspan2
Method Summary
Table Body (tbody)
Table Row (tr)
Table Cell (td)
QBJoin
Table Cell (td)
#addadd(dataSource)
Add a join with join type IQueryBuilderJoin#LEFT_OUTER_JOIN and no alias for the joining table.
tbody
Table Body (tbody)
Table Row (tr)
Table Cell (td)
QBJoin
Table Cell (td)
#addadd(dataSource, joinType)
Add a join with no alias for the joining table.
tbody
Table Row (tr)
Table Cell (td)
QBJoin
Table Cell (td)
#addadd(dataSource, joinType, alias)
Add a join clause from the parent query builder part to the specified data source.
Table Row (tr)
Table Cell (td)
QBJoin
Table Cell (td)
#addadd(dataSourceOrRelation, alias)
Add a join based on relation or add a manual join.

HTML Table
idproperty
classservoy sDetail
Colgroup Tag
Column
padding0px
width100%

Table Row (tr)
styleheight: 30px;
Table Head (th)
colspan1
Property Details
Table Body (tbody)
idparent
Table Row (tr)
idname
Table Cell (td)
parent
Table Row (tr)
iddes
Table Cell (td)
Div
classsIndent
Get query builder parent table clause, this may be a query or a join clause.
Table Row (tr)
idret
Table Cell (td)
Returns
Div
classsIndent
QBTableClause
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript

...

/** @type {QBSelect<db:/example_data/person>} */
	var query = databaseManager.createSelect('db:/example_data/person')
	query.where.add(query.joins.person_to_parent.joins.person_to_parent.columns.name.eq('john'))
	foundset.loadRecords(query)

...

Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idroot
Table Row (tr)
idname
Table Cell (td)
root
Table Row (tr)
iddes
Table Cell (td)
Div
classsIndent
Get query builder parent.
Table Row (tr)
idret
Table Cell (td)
Returns
Div
classsIndent
QBSelect
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript

...

/** @type {QBSelect<db:/example_data/order_details>} */
	var subquery = databaseManager.createSelect('db:/example_data/order_details')

...


 /** @type {QBSelect<db:/example_data/orders>} */
	var query = databaseManager.createSelect('db:/example_data/orders')
	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)

...

Table Row (tr)
classlastDetailRow
Table Cell (td)

HTML Table
idfunction
classservoy sDetail
Colgroup Tag
Column
padding0px
width100%

Table Row (tr)
styleheight: 30px;
Table Head (th)
colspan1
Method Details
Table Body (tbody)
idadd-String
Table Row (tr)
idname
Table Cell (td)
add
Table Row (tr)
idsig
Table Cell (td)
Span
stylemargin-right: 5px;
QBJoin
Span
stylefont-weight: bold;
add
Span
(dataSource)
Table Row (tr)
iddes
Table Cell (td)
Div
classsIndent
Add a join with join type IQueryBuilderJoin#LEFT_OUTER_JOIN and no alias for the joining table.
Table Row (tr)
idprs
Table Cell (td)
Parameters
Div
classsIndent
{String} dataSource

...

- data source
Table Row (tr)
idret
Table Cell (td)
Returns
Div
classsIndent
QBJoin
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript

...

/** @type {QBSelect<db:/example_data/orders>} */
	var query = databaseManager.createSelect('db:/example_data/orders')
 /** @type {QBJoin<db:/example_data/order_details>} */
	var join = query.joins.add('db:/example_data/order_details', JSRelation.INNER_JOIN, 'odetail')
	join.on.add(join.columns.orderid.eq(query.columns.orderid))
 // to add a join based on a relation, use the relation name
 var join2 = query.joins.add('orders_to_customers', 'cust')
	query.where.add(join2.columns.customerid.eq(999))
	foundset.loadRecords(query)

...

Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idadd-String_Number
Table Row (tr)
idname
Table Cell (td)
add
Table Row (tr)
idsig
Table Cell (td)
Span
stylemargin-right: 5px;
QBJoin
Span
stylefont-weight: bold;
add
Span
(dataSource, joinType)
Table Row (tr)
iddes
Table Cell (td)
Div
classsIndent
Add a join with no alias for the joining table.
Table Row (tr)
idprs
Table Cell (td)
Parameters
Div
classsIndent
{String} dataSource

...

- data source
{Number} joinType

...

- join type, one of JSRelation.LEFT_OUTER_JOIN, JSRelation.INNER_JOIN, JSRelation.RIGHT_OUTER_JOIN, JSRelation.FULL_JOIN
Table Row (tr)
idret
Table Cell (td)
Returns
Div
classsIndent
QBJoin
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript

...

/** @type {QBSelect<db:/example_data/orders>} */
	var query = databaseManager.createSelect('db:/example_data/orders')
 /** @type {QBJoin<db:/example_data/order_details>} */
	var join = query.joins.add('db:/example_data/order_details', JSRelation.INNER_JOIN, 'odetail')
	join.on.add(join.columns.orderid.eq(query.columns.orderid))
 // to add a join based on a relation, use the relation name
 var join2 = query.joins.add('orders_to_customers', 'cust')
	query.where.add(join2.columns.customerid.eq(999))
	foundset.loadRecords(query)

...

Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idadd-String_Number_String
Table Row (tr)
idname
Table Cell (td)
add
Table Row (tr)
idsig
Table Cell (td)
Span
stylemargin-right: 5px;
QBJoin
Span
stylefont-weight: bold;
add
Span
(dataSource, joinType, alias)
Table Row (tr)
iddes
Table Cell (td)
Div
classsIndent
Add a join clause from the parent query builder part to the specified data source.
Table Row (tr)
idprs
Table Cell (td)
Parameters
Div
classsIndent
{String} dataSource

...

- data source
{Number} joinType

...

- join type, one of IQueryBuilderJoin#LEFT_OUTER_JOIN, IQueryBuilderJoin#INNER_JOIN, IQueryBuilderJoin#RIGHT_OUTER_JOIN, IQueryBuilderJoin#FULL_JOIN
{String} alias

...

- the alias for joining table
Table Row (tr)
idret
Table Cell (td)
Returns
Div
classsIndent
QBJoin
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript

...

/** @type {QBSelect<db:/example_data/orders>} */
	var query = databaseManager.createSelect('db:/example_data/orders')
 /** @type {QBJoin<db:/example_data/order_details>} */
	var join = query.joins.add('db:/example_data/order_details', JSRelation.INNER_JOIN, 'odetail')
	join.on.add(join.columns.orderid.eq(query.columns.orderid))
 // to add a join based on a relation, use the relation name
 var join2 = query.joins.add('orders_to_customers', 'cust')
	query.where.add(join2.columns.customerid.eq(999))
	foundset.loadRecords(query)

...

Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idadd-String_String
Table Row (tr)
idname
Table Cell (td)
add
Table Row (tr)
idsig
Table Cell (td)
Span
stylemargin-right: 5px;
QBJoin
Span
stylefont-weight: bold;
add
Span
(dataSourceOrRelation, alias)
Table Row (tr)
iddes
Table Cell (td)
Div
classsIndent
Add a join based on relation or add a manual join.
When dataSourceOrRelation is a relation name, a join will be added based on the relation.
When dataSourceOrRelation is a data source, an empty join will be added with join type IQueryBuilderJoin#LEFT_OUTER_JOIN.
Table Row (tr)
idprs
Table Cell (td)
Parameters
Div
classsIndent
{String} dataSourceOrRelation

...

- data source
{String} alias

...

- the alias for joining table
Table Row (tr)
idret
Table Cell (td)
Returns
Div
classsIndent
QBJoin
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript

...

/** @type {QBSelect<db:/example_data/orders>} */
	var query = databaseManager.createSelect('db:/example_data/orders')
 /** @type {QBJoin<db:/example_data/order_details>} */
	var join = query.joins.add('db:/example_data/order_details', JSRelation.INNER_JOIN, 'odetail')
	join.on.add(join.columns.orderid.eq(query.columns.orderid))
 // to add a join based on a relation, use the relation name
 var join2 = query.joins.add('orders_to_customers', 'cust')
	query.where.add(join2.columns.customerid.eq(999))
	foundset.loadRecords(query)

...

Table Row (tr)
classlastDetailRow
Table Cell (td)