{hidden}
DO NOT EDIT THE CONTENT OF THIS PAGE DIRECTLY, UNLESS YOU KNOW WHAT YOU'RE DOING.
THE STRUCTURE OF THE CONTENT IS VITAL IN BEING ABLE TO EXTRACT CHANGES FROM THE PAGE AND MERGE THEM BACK INTO SERVOY SOURCE{hidden}
{sub-section:description|text=}{sub-section}\\
{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}[QBLogicalCondition]{td}{td}[#and]
Create an AND\-condition to add conditions to.{td}{tr}{tbody}{tbody}{tr}{td}[QBColumns]{td}{td}[#columns]
Get columns from query{td}{tr}{tbody}{tbody}{tr}{td}[QBFunctions]{td}{td}[#functions]
Get the functions clause from a query, used for functions that are not tied to a column.{td}{tr}{tbody}{tbody}{tr}{td}[QBGroupBy]{td}{td}[#groupBy]
Get the group by clause from a query{td}{tr}{tbody}{tbody}{tr}{td}[QBLogicalCondition]{td}{td}[#having]
Get the having\-part of the query, used to add conditions.{td}{tr}{tbody}{tbody}{tr}{td}[QBJoins]{td}{td}[#joins]
Get the joins clause of this table based clause.{td}{tr}{tbody}{tbody}{tr}{td}[QBLogicalCondition]{td}{td}[#or]
Create an OR\-condition to add conditions to.{td}{tr}{tbody}{tbody}{tr}{td}[QBParameters]{td}{td}[#params]
Get the named parameters from a query.{td}{tr}{tbody}{tbody}{tr}{td}[QBTableClause]{td}{td}[#parent]
Get query builder parent table clause, this may be a query or a join clause.{td}{tr}{tbody}{tbody}{tr}{td}[QBResult]{td}{td}[#result]
Get the result part of the query, used to add result columns or values.{td}{tr}{tbody}{tbody}{tr}{td}[QBSelect]{td}{td}[#root]
Get query builder parent.{td}{tr}{tbody}{tbody}{tr}{td}[QBSorts]{td}{td}[#sort]
Get the sorting part of the query.{td}{tr}{tbody}{tbody}{tr}{td}[QBWhereCondition]{td}{td}[#where]
Get the where\-part of the query, used to add conditions.{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}[QBSelect]{td}{td}[#clearHaving]\()
Clear the having\-part of the query.{td}{tr}{tbody}{tbody}{tr}{td}[QBCondition]{td}{td}[#exists]\()
Get an exists\-condition from a subquery{td}{tr}{tbody}{tbody}{tr}{td}[QBColumn]{td}{td}[#getColumn]\(name)
Get a column from the table.{td}{tr}{tbody}{tbody}{tr}{td}[QBColumn]{td}{td}[#getColumn]\(columnTableAlias, name)
Get a column from the table with given alias.{td}{tr}{tbody}{tbody}{tr}{td}[QBParameter]{td}{td}[#getParameter]\()
Get or create a parameter for the query, this used to parameterize queries.{td}{tr}{tbody}{tbody}{tr}{td}[QBCondition]{td}{td}[#not]\(cond)
Create an negated condition.{td}{tr}{tbody}{tbody}{tr}{td}[QBCondition]{td}{td}[#not]\(cond)
Create an negated condition.{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=and|class=node}{tr:id=name}{td}h6.and{td}{tr}{tr:id=des}{td}{sub-section:and_des|trigger=button|text=}{sub-section}{sub-section:and_des|trigger=none|class=sIndent}Create an AND\-condition to add conditions to.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:and_snc|trigger=button|text=}{sub-section}{sub-section:and_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:and_prs|trigger=button|text=}{sub-section}{sub-section:and_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:and_ret|trigger=button|text=}{sub-section}{sub-section:and_ret|trigger=none|class=sIndent}[QBLogicalCondition]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:and_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:and_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:and_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:and_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:and_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:and_sam|trigger=none}{code:language=javascript}
query.where.add(
query.or
.add(
query.and
.add(query.columns.flag.eq(1))
.add(query.columns.order_date.isNull)
)
.add(
query.and
.add(query.columns.flag.eq(2))
.add(query.column.order_date.gt(new Date()))
)
);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=columns|class=node}{tr:id=name}{td}h6.columns{td}{tr}{tr:id=des}{td}{sub-section:columns_des|trigger=button|text=}{sub-section}{sub-section:columns_des|trigger=none|class=sIndent}Get columns from query{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:columns_snc|trigger=button|text=}{sub-section}{sub-section:columns_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:columns_prs|trigger=button|text=}{sub-section}{sub-section:columns_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:columns_ret|trigger=button|text=}{sub-section}{sub-section:columns_ret|trigger=none|class=sIndent}[QBColumns]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:columns_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:columns_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:columns_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:columns_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:columns_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:columns_sam|trigger=none}{code:language=javascript}
foundset.getQuery().columns
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=functions|class=node}{tr:id=name}{td}h6.functions{td}{tr}{tr:id=des}{td}{sub-section:functions_des|trigger=button|text=}{sub-section}{sub-section:functions_des|trigger=none|class=sIndent}Get the functions clause from a query, used for functions that are not tied to a column.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:functions_snc|trigger=button|text=}{sub-section}{sub-section:functions_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:functions_prs|trigger=button|text=}{sub-section}{sub-section:functions_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:functions_ret|trigger=button|text=}{sub-section}{sub-section:functions_ret|trigger=none|class=sIndent}[QBFunctions]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:functions_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:functions_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:functions_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:functions_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:functions_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:functions_sam|trigger=none}{code:language=javascript}
/** @type {QBSelect<db:/example_data/orders>} */
var query = databaseManager.createSelect('db:/example_data/orders') //$NON-NLS-1$
query.where.add(query.columns.shipname.upper.eq(query.functions.upper('servoy'))) //$NON-NLS-1$
foundset.loadRecords(query)
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=groupBy|class=node}{tr:id=name}{td}h6.groupBy{td}{tr}{tr:id=des}{td}{sub-section:groupBy_des|trigger=button|text=}{sub-section}{sub-section:groupBy_des|trigger=none|class=sIndent}Get the group by clause from a query{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:groupBy_snc|trigger=button|text=}{sub-section}{sub-section:groupBy_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:groupBy_prs|trigger=button|text=}{sub-section}{sub-section:groupBy_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:groupBy_ret|trigger=button|text=}{sub-section}{sub-section:groupBy_ret|trigger=none|class=sIndent}[QBGroupBy]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:groupBy_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:groupBy_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:groupBy_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:groupBy_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:groupBy_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:groupBy_sam|trigger=none}{code:language=javascript}
/** @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}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=having|class=node}{tr:id=name}{td}h6.having{td}{tr}{tr:id=des}{td}{sub-section:having_des|trigger=button|text=}{sub-section}{sub-section:having_des|trigger=none|class=sIndent}Get the having\-part of the query, used to add conditions.
The conditions added here are AND\-ed.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:having_snc|trigger=button|text=}{sub-section}{sub-section:having_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:having_prs|trigger=button|text=}{sub-section}{sub-section:having_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:having_ret|trigger=button|text=}{sub-section}{sub-section:having_ret|trigger=none|class=sIndent}[QBLogicalCondition]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:having_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:having_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:having_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:having_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:having_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:having_sam|trigger=none}{code:language=javascript}
/** @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}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=joins|class=node}{tr:id=name}{td}h6.joins{td}{tr}{tr:id=des}{td}{sub-section:joins_des|trigger=button|text=}{sub-section}{sub-section:joins_des|trigger=none|class=sIndent}Get the joins clause of this table based clause.
Joins added to this clause will be based on this table clauses table.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:joins_snc|trigger=button|text=}{sub-section}{sub-section:joins_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:joins_prs|trigger=button|text=}{sub-section}{sub-section:joins_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:joins_ret|trigger=button|text=}{sub-section}{sub-section:joins_ret|trigger=none|class=sIndent}[QBJoins]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:joins_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:joins_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:joins_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:joins_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:joins_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:joins_sam|trigger=none}{code:language=javascript}
foundset.getQuery().joins
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=or|class=node}{tr:id=name}{td}h6.or{td}{tr}{tr:id=des}{td}{sub-section:or_des|trigger=button|text=}{sub-section}{sub-section:or_des|trigger=none|class=sIndent}Create an OR\-condition to add conditions to.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:or_snc|trigger=button|text=}{sub-section}{sub-section:or_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:or_prs|trigger=button|text=}{sub-section}{sub-section:or_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:or_ret|trigger=button|text=}{sub-section}{sub-section:or_ret|trigger=none|class=sIndent}[QBLogicalCondition]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:or_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:or_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:or_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:or_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:or_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:or_sam|trigger=none}{code:language=javascript}
query.where.add(
query.or
.add(
query.and
.add(query.columns.flag.eq(1))
.add(query.columns.order_date.isNull)
)
.add(
query.and
.add(query.columns.flag.eq(2))
.add(query.column.order_date.gt(new Date()))
)
);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=params|class=node}{tr:id=name}{td}h6.params{td}{tr}{tr:id=des}{td}{sub-section:params_des|trigger=button|text=}{sub-section}{sub-section:params_des|trigger=none|class=sIndent}Get the named parameters from a query.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:params_snc|trigger=button|text=}{sub-section}{sub-section:params_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:params_prs|trigger=button|text=}{sub-section}{sub-section:params_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:params_ret|trigger=button|text=}{sub-section}{sub-section:params_ret|trigger=none|class=sIndent}[QBParameters]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:params_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:params_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:params_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:params_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:params_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:params_sam|trigger=none}{code:language=javascript}
/** @type {QBSelect<db:/example_data/orders>} */
var query = databaseManager.createSelect('db:/example_data/orders')
query.where.add(query.columns.contact_id.eq(query.getParameter('mycontactid')))
// load orders where contact_id = 100
query.params['mycontactid'] = 100
foundset.loadRecords(query)
// load orders where contact_id = 200
query.params['mycontactid'] = 200
foundset.loadRecords(query)
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=parent|class=node}{tr:id=name}{td}h6.parent{td}{tr}{tr:id=des}{td}{sub-section:parent_des|trigger=button|text=}{sub-section}{sub-section:parent_des|trigger=none|class=sIndent}Get query builder parent table clause, this may be a query or a join clause.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:parent_snc|trigger=button|text=}{sub-section}{sub-section:parent_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:parent_prs|trigger=button|text=}{sub-section}{sub-section:parent_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:parent_ret|trigger=button|text=}{sub-section}{sub-section:parent_ret|trigger=none|class=sIndent}[QBTableClause]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:parent_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:parent_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:parent_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:parent_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:parent_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:parent_sam|trigger=none}{code:language=javascript}
/** @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)
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=result|class=node}{tr:id=name}{td}h6.result{td}{tr}{tr:id=des}{td}{sub-section:result_des|trigger=button|text=}{sub-section}{sub-section:result_des|trigger=none|class=sIndent}Get the result part of the query, used to add result columns or values.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:result_snc|trigger=button|text=}{sub-section}{sub-section:result_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:result_prs|trigger=button|text=}{sub-section}{sub-section:result_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:result_ret|trigger=button|text=}{sub-section}{sub-section:result_ret|trigger=none|class=sIndent}[QBResult]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:result_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:result_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:result_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:result_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:result_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:result_sam|trigger=none}{code:language=javascript}
query.result.add(query.columns.company_id).add(query.columns.customerid)
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=root|class=node}{tr:id=name}{td}h6.root{td}{tr}{tr:id=des}{td}{sub-section:root_des|trigger=button|text=}{sub-section}{sub-section:root_des|trigger=none|class=sIndent}Get query builder parent.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:root_snc|trigger=button|text=}{sub-section}{sub-section:root_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:root_prs|trigger=button|text=}{sub-section}{sub-section:root_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:root_ret|trigger=button|text=}{sub-section}{sub-section:root_ret|trigger=none|class=sIndent}[QBSelect]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:root_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:root_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:root_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:root_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:root_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:root_sam|trigger=none}{code:language=javascript}
/** @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)
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=sort|class=node}{tr:id=name}{td}h6.sort{td}{tr}{tr:id=des}{td}{sub-section:sort_des|trigger=button|text=}{sub-section}{sub-section:sort_des|trigger=none|class=sIndent}Get the sorting part of the query.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:sort_snc|trigger=button|text=}{sub-section}{sub-section:sort_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:sort_prs|trigger=button|text=}{sub-section}{sub-section:sort_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:sort_ret|trigger=button|text=}{sub-section}{sub-section:sort_ret|trigger=none|class=sIndent}[QBSorts]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:sort_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:sort_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:sort_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:sort_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:sort_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:sort_sam|trigger=none}{code:language=javascript}
/** @type {QBSelect<db:/example_data/orders>} */
var query = databaseManager.createSelect('db:/example_data/orders')
query.sort
.add(query.joins.orders_to_order_details.columns.quantity.desc)
.add(query.columns.companyid)
foundset.loadRecords(query)
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=where|class=node}{tr:id=name}{td}h6.where{td}{tr}{tr:id=des}{td}{sub-section:where_des|trigger=button|text=}{sub-section}{sub-section:where_des|trigger=none|class=sIndent}Get the where\-part of the query, used to add conditions.
The conditions added here are AND\-ed.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:where_snc|trigger=button|text=}{sub-section}{sub-section:where_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:where_prs|trigger=button|text=}{sub-section}{sub-section:where_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:where_ret|trigger=button|text=}{sub-section}{sub-section:where_ret|trigger=none|class=sIndent}[QBWhereCondition]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:where_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:where_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:where_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:where_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:where_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:where_sam|trigger=none}{code:language=javascript}
var query = foundset.getQuery()
query.where.add(query.columns.flag.eq(1))
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{table}\\
{table:id=function|class=servoy sDetail}{colgroup}{column:width=100%|padding=0px}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Method Details{th}{tr}{tbody:id=clearHaving|class=node}{tr:id=name}{td}h6.clearHaving{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[QBSelect]{span}{span:id=iets|style=float: left; font-weight: bold;}clearHaving{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{tr:id=des}{td}{sub-section:clearHaving_des|trigger=button|text=}{sub-section}{sub-section:clearHaving_des|trigger=none|class=sIndent}Clear the having\-part of the query.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:clearHaving_snc|trigger=button|text=}{sub-section}{sub-section:clearHaving_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:clearHaving_prs|trigger=button|text=}{sub-section}{sub-section:clearHaving_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:clearHaving_ret|trigger=button|text=}{sub-section}{sub-section:clearHaving_ret|trigger=none|class=sIndent}[QBSelect]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:clearHaving_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:clearHaving_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:clearHaving_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:clearHaving_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:clearHaving_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:clearHaving_sam|trigger=none}{code:language=javascript}
var q = foundset.getQuery()
q.where.add(q.columns.x.eq(100))
query.groupBy.clear.root.clearHaving()
foundset.loadRecords(q);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=exists|class=node}{tr:id=name}{td}h6.exists{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[QBCondition]{span}{span:id=iets|style=float: left; font-weight: bold;}exists{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{tr:id=des}{td}{sub-section:exists_des|trigger=button|text=}{sub-section}{sub-section:exists_des|trigger=none|class=sIndent}Get an exists\-condition from a subquery{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:exists_snc|trigger=button|text=}{sub-section}{sub-section:exists_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:exists_prs|trigger=button|text=}{sub-section}{sub-section:exists_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:exists_ret|trigger=button|text=}{sub-section}{sub-section:exists_ret|trigger=none|class=sIndent}[QBCondition]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:exists_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:exists_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:exists_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:exists_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:exists_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:exists_sam|trigger=none}{code:language=javascript}
foundset.query.where.add(query.exists(query2))
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getColumn-String|class=node}{tr:id=name}{td}h6.getColumn{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[QBColumn]{span}{span:id=iets|style=float: left; font-weight: bold;}getColumn{span}{span:id=iets|style=float: left;}\(name){span}{td}{tr}{tr:id=des}{td}{sub-section:getColumn-String_des|trigger=button|text=}{sub-section}{sub-section:getColumn-String_des|trigger=none|class=sIndent}Get a column from the table.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getColumn-String_snc|trigger=button|text=}{sub-section}{sub-section:getColumn-String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:getColumn-String_prs|trigger=button|text=}{sub-section}{sub-section:getColumn-String_prs|trigger=none|class=sIndent}\{[String]} name -- the name of column to get
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:getColumn-String_ret|trigger=button|text=}{sub-section}{sub-section:getColumn-String_ret|trigger=none|class=sIndent}[QBColumn]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getColumn-String_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getColumn-String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getColumn-String_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getColumn-String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getColumn-String_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getColumn-String_sam|trigger=none}{code:language=javascript}
foundset.getQuery().getColumn('orderid')
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getColumn-String_String|class=node}{tr:id=name}{td}h6.getColumn{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[QBColumn]{span}{span:id=iets|style=float: left; font-weight: bold;}getColumn{span}{span:id=iets|style=float: left;}\(columnTableAlias, name){span}{td}{tr}{tr:id=des}{td}{sub-section:getColumn-String_String_des|trigger=button|text=}{sub-section}{sub-section:getColumn-String_String_des|trigger=none|class=sIndent}Get a column from the table with given alias.
The alias may be of the main table or any level deep joined table.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getColumn-String_String_snc|trigger=button|text=}{sub-section}{sub-section:getColumn-String_String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:getColumn-String_String_prs|trigger=button|text=}{sub-section}{sub-section:getColumn-String_String_prs|trigger=none|class=sIndent}\{[String]} columnTableAlias -- the alias for the table
\{[String]} name -- the name of column to get
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:getColumn-String_String_ret|trigger=button|text=}{sub-section}{sub-section:getColumn-String_String_ret|trigger=none|class=sIndent}[QBColumn]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getColumn-String_String_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getColumn-String_String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getColumn-String_String_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getColumn-String_String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getColumn-String_String_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getColumn-String_String_sam|trigger=none}{code:language=javascript}
foundset.getQuery().getColumn('orderid', 'opk')
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getParameter|class=node}{tr:id=name}{td}h6.getParameter{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[QBParameter]{span}{span:id=iets|style=float: left; font-weight: bold;}getParameter{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{tr:id=des}{td}{sub-section:getParameter_des|trigger=button|text=}{sub-section}{sub-section:getParameter_des|trigger=none|class=sIndent}Get or create a parameter for the query, this used to parameterize queries.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getParameter_snc|trigger=button|text=}{sub-section}{sub-section:getParameter_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:getParameter_prs|trigger=button|text=}{sub-section}{sub-section:getParameter_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:getParameter_ret|trigger=button|text=}{sub-section}{sub-section:getParameter_ret|trigger=none|class=sIndent}[QBParameter]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getParameter_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getParameter_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getParameter_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getParameter_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getParameter_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getParameter_sam|trigger=none}{code:language=javascript}
Div
style
display: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.
/** @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)
Table Row (tr)
class
lastDetailRow
Table Cell (td)
Table Body (tbody)
id
having
Table Row (tr)
id
name
Table Cell (td)
having
Table Row (tr)
id
des
Table Cell (td)
Div
class
sIndent
Get the having-part of the query, used to add conditions. The conditions added here are AND-ed.
/** @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)
Table Row (tr)
class
lastDetailRow
Table Cell (td)
Table Body (tbody)
id
joins
Table Row (tr)
id
name
Table Cell (td)
joins
Table Row (tr)
id
des
Table Cell (td)
Div
class
sIndent
Get the joins clause of this table based clause. Joins added to this clause will be based on this table clauses table.
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=not-QBCondition|class=node}{tr:id=name}{td}h6.not{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[QBCondition]{span}{span:id=iets|style=float: left; font-weight: bold;}not{span}{span:id=iets|style=float: left;}\(cond){span}{td}{tr}{tr:id=des}{td}{sub-section:not-QBCondition_des|trigger=button|text=}{sub-section}{sub-section:not-QBCondition_des|trigger=none|class=sIndent}Create an negated condition.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:not-QBCondition_snc|trigger=button|text=}{sub-section}{sub-section:not-QBCondition_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:not-QBCondition_prs|trigger=button|text=}{sub-section}{sub-section:not-QBCondition_prs|trigger=none|class=sIndent}\{[QBCondition]} cond -- the condition to negate
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:not-QBCondition_ret|trigger=button|text=}{sub-section}{sub-section:not-QBCondition_ret|trigger=none|class=sIndent}[QBCondition]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:not-QBCondition_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:not-QBCondition_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:not-QBCondition_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:not-QBCondition_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:not-QBCondition_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:not-QBCondition_sam|trigger=none}{code:language=javascript}
foundset.query.where.add(query.not(query.columns.flag.eq(1)))
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=not-QBLogicalCondition|class=node}{tr:id=name}{td}h6.not{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[QBCondition]{span}{span:id=iets|style=float: left; font-weight: bold;}not{span}{span:id=iets|style=float: left;}\(cond){span}{td}{tr}{tr:id=des}{td}{sub-section:not-QBLogicalCondition_des|trigger=button|text=}{sub-section}{sub-section:not-QBLogicalCondition_des|trigger=none|class=sIndent}Create an negated condition.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:not-QBLogicalCondition_snc|trigger=button|text=}{sub-section}{sub-section:not-QBLogicalCondition_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:not-QBLogicalCondition_prs|trigger=button|text=}{sub-section}{sub-section:not-QBLogicalCondition_prs|trigger=none|class=sIndent}\{[QBLogicalCondition]} cond -- the logical condition to negate
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:not-QBLogicalCondition_ret|trigger=button|text=}{sub-section}{sub-section:not-QBLogicalCondition_ret|trigger=none|class=sIndent}[QBCondition]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:not-QBLogicalCondition_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:not-QBLogicalCondition_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:not-QBLogicalCondition_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:not-QBLogicalCondition_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:not-QBLogicalCondition_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:not-QBLogicalCondition_sam|trigger=none}{code:language=javascript}