DO NOT EDIT THE CONTENT OF THIS PAGE DIRECTLY (EXCEPT INSIDE THE DIV BELOW WITH ID=DESCRIPTION), UNLESS YOU KNOW WHAT YOU'RE DOING.
THE STRUCTURE OF THE CONTENT IS VITAL IN BEING ABLE TO AUTO UPDATE THE CONTENT THROUGH THE DOC GENERATOR.



Property Summary
QBSelect
parent
Get query builder parent table clause, this may be a query or a join clause.
QBSelect
root
Get query builder parent.



Method Summary
QBGroupBy
add(column)
Add column name to group-by clause.
QBGroupBy
add(function)
Add column name to group-by clause.
QBGroupBy
addPk()
Add the tables' primary pk columns in alphabetical order to the group by clause.
QBGroupBy
clear()
Clear the to group-by clause.



Property Details

parent

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

Returns

QBSelect

Sample

/** @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)
 

root

Get query builder parent.

Returns

QBSelect

Sample

/** @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)
 



Method Details

add

QBGroupBy
add
(column)

Add column name to group-by clause.

Same as query.groupBy().add(join.getColumn("value"))

Parameters

{QBColumn} column - the column to add to the query condition

Returns

QBGroupBy

Sample

/** @type {QBSelect<db:/example_data/orders>} */
var query = databaseManager.createSelect('db:/example_data/orders')
query.groupBy.add(query.columns.orderid) // have to group by on pk when using having-conditions in (foundset) pk queries
.root.having.add(query.joins.orders_to_order_details.columns.quantity.count.eq(0))
foundset.loadRecords(query)
 

add

QBGroupBy
add
(function)

Add column name to group-by clause.

Same as query.groupBy().add(join.getColumn("value"))

Parameters

{QBFunction} function - the function to add to the query

Returns

QBGroupBy

Sample

/** @type {QBSelect<db:/example_data/orders>} */
var query = databaseManager.createSelect('db:/example_data/orders')
query.groupBy.add(query.columns.orderid) // have to group by on pk when using having-conditions in (foundset) pk queries
.root.having.add(query.joins.orders_to_order_details.columns.quantity.count.eq(0))
foundset.loadRecords(query)
 

addPk

QBGroupBy
addPk
()
Add the tables' primary pk columns in alphabetical order to the group by clause.

Returns

QBGroupBy

Sample

/** @type {QBSelect<db:/example_data/orders>} */
var query = databaseManager.createSelect('db:/example_data/orders')
query.groupBy.addPk() // have to group by on pk when using having-conditions in (foundset) pk queries
.root.having.add(query.joins.orders_to_order_details.columns.quantity.count.eq(0))
foundset.loadRecords(query)
 

clear

QBGroupBy
clear
()
Clear the to group-by clause.

Returns

QBGroupBy

Sample

var q = foundset.getQuery()
q.where.add(q.columns.x.eq(100))
query.groupBy.clear.root.clearHaving()
foundset.loadRecords(q);