Child pages
  • QBGroupBy

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin
{div:style=}
Wiki Markup
Div
styledisplay:none

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.

\\ \\ Enter additional information related to this



Enter additional information related to this 'class'

inside

the

\

{div}

macro

with

'id=description'

{div} {div:id=description}{div}\\ {table:id=|class=servoy sSummary}{colgroup}{column:width=80px|padding=0px}{column}{column}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=2}Property Summary{th}{tr}{tbody}{tr}{td}[QBSelect]{td}{td}[#parent] Get query builder parent table clause, this may be a query or a join clause.{td}{tr}{tbody}{tbody}{tr}{td}[QBSelect]{td}{td}[#root] Get query builder parent.{td}{tr}{tbody}{table}\\ {table:id=|class=servoy sSummary}{colgroup}{column:width=80px|padding=0px}{column}{column}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=2}Method Summary{th}{tr}{tbody}{tr}{td}[QBGroupBy]{td}{td}[#add]\(column) Add column name to group\-by clause.{td}{tr}{tbody}{tbody}{tr}{td}[QBGroupBy]{td}{td}[#add]\(function) Add column name to group\-by clause.{td}{tr}{tbody}{tbody}{tr}{td}[QBGroupBy]{td}{td}[#addPk]\() Add the tables' primary pk columns in alphabetical order to the group by clause.{td}{tr}{tbody}{tbody}{tr}{td}[QBGroupBy]{td}{td}[#clear]\() Clear the to group\-by clause.{td}{tr}{tbody}{table}\\ {table:id=property|class=servoy sDetail}{colgroup}{column:width=100%|padding=0px}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Property Details{th}{tr}{tbody:id=parent}{tr:id=name}{td}h6.parent{td}{tr}{tr:id=des}{td}{div:class=sIndent}Get query builder parent table clause, this may be a query or a join clause.{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[QBSelect]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}

Div
iddescription


HTML Table
id
classservoy sSummary
Colgroup Tag
Column
padding0px
width80px

Column

Table Row (tr)
styleheight: 30px;
Table Head (th)
colspan2
Property Summary
Table Body (tbody)
Table Row (tr)
Table Cell (td)
QBSelect
Table Cell (td)
#parent
Get query builder parent table clause, this may be a query or a join clause.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
QBSelect
Table Cell (td)
#root
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)
QBGroupBy
Table Cell (td)
#add(column)
Add column name to group-by clause.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
QBGroupBy
Table Cell (td)
#add(function)
Add column name to group-by clause.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
QBGroupBy
Table Cell (td)
#addPk()
Add the tables' primary pk columns in alphabetical order to the group by clause.
Table Body (tbody)
Table Row (tr)
Table Cell (td)
QBGroupBy
Table Cell (td)
#clear()
Clear the to group-by clause.

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
QBSelect
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-QBColumn
Table Row (tr)
idname
Table Cell (td)
add
Table Row (tr)
idsig
Table Cell (td)
Span
stylemargin-right: 5px;
QBGroupBy
Span
stylefont-weight: bold;
add
Span
(column)
Table Row (tr)
iddes
Table Cell (td)
Div
classsIndent

Add column name to group-by clause.

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

{div}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[QBColumn]} column -- the column to add to the query condition {div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[QBGroupBy]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}

Table Row (tr)
idprs
Table Cell (td)
Parameters
Div
classsIndent
{QBColumn} column – the column to add to the query condition
Table Row (tr)
idret
Table Cell (td)
Returns
Div
classsIndent
QBGroupBy
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')
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)
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=add-QBFunction}{tr:id=name}{td}h6.add{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[QBGroupBy]{span}{span:style=font-weight: bold;}add{span}{span}\(function){span}{td}{tr}{tr:id=des}{td}{div:class=sIndent}Add column name to group\-by clause. Same as
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idadd-QBFunction
Table Row (tr)
idname
Table Cell (td)
add
Table Row (tr)
idsig
Table Cell (td)
Span
stylemargin-right: 5px;
QBGroupBy
Span
stylefont-weight: bold;
add
Span
(function)
Table Row (tr)
iddes
Table Cell (td)
Div
classsIndent

Add column name to group-by clause.

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

{div}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[QBFunction]} function -- the function to add to the query {div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[QBGroupBy]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}

Table Row (tr)
idprs
Table Cell (td)
Parameters
Div
classsIndent
{QBFunction} function – the function to add to the query
Table Row (tr)
idret
Table Cell (td)
Returns
Div
classsIndent
QBGroupBy
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')
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)
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=addPk}{tr:id=name}{td}h6.addPk{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[QBGroupBy]{span}{span:style=font-weight: bold;}addPk{span}{span}\(){span}{td}{tr}{tr:id=des}{td}{div:class=sIndent}Add the tables' primary pk columns in alphabetical order to the group by clause.{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[QBGroupBy]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idaddPk
Table Row (tr)
idname
Table Cell (td)
addPk
Table Row (tr)
idsig
Table Cell (td)
Span
stylemargin-right: 5px;
QBGroupBy
Span
stylefont-weight: bold;
addPk
Span
()
Table Row (tr)
iddes
Table Cell (td)
Div
classsIndent
Add the tables' primary pk columns in alphabetical order to the group by clause.
Table Row (tr)
idret
Table Cell (td)
Returns
Div
classsIndent
QBGroupBy
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')
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)
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=clear}{tr:id=name}{td}h6.clear{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[QBGroupBy]{span}{span:style=font-weight: bold;}clear{span}{span}\(){span}{td}{tr}{tr:id=des}{td}{div:class=sIndent}Clear the to group\-by clause.{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[QBGroupBy]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
Table Row (tr)
classlastDetailRow
Table Cell (td)

Table Body (tbody)
idclear
Table Row (tr)
idname
Table Cell (td)
clear
Table Row (tr)
idsig
Table Cell (td)
Span
stylemargin-right: 5px;
QBGroupBy
Span
stylefont-weight: bold;
clear
Span
()
Table Row (tr)
iddes
Table Cell (td)
Div
classsIndent
Clear the to group-by clause.
Table Row (tr)
idret
Table Cell (td)
Returns
Div
classsIndent
QBGroupBy
Table Row (tr)
idsam
Table Cell (td)
Sample
Div
classsIndent
Code Block
languagejavascript

var q = foundset.getQuery()
q.where.add(q.columns.x.eq(100))
query.groupBy.clear.root.clearHaving()
foundset.loadRecords(q);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{table}
Table Row (tr)
classlastDetailRow
Table Cell (td)