Child pages
  • QBSelect

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
{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|width=80px}{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
<pre>
// SELECT val2, COUNT(val2) FROM tab GROUP BY val2 ORDER BY COUNT(val2) DESC 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}[QBLogicalConditionQBWhereCondition]{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|width=80px}{column}{column}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=2}Method Summary{th}{tr}{tbody}{tr}{td}[QBConditionQBSelect]{td}{td}[#exists#clearHaving]\()
GetClear anthe existshaving\-conditionpart from a subquery
<pre>
 // where exists (select 1 from tab where flag = ?)
of the query.{td}{tr}{tbody}{tbody}{tr}{td}[QBColumnQBCondition]{td}{td}[#getColumn#exists]\(name)
Get a columnan exists\-condition from thea table.subquery{td}{tr}{tbody}{tbody}{tr}{td}[QBColumn]{td}{td}[#getColumn]\(columnTableAlias, name)
Get a column from the table with.{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|width=100%}{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|texttrigger=button|triggertext=button}{sub-section}{sub-section:and_des|trigger=none|class=sIndent}Create an AND\-condition to add conditions to.
<pre>
// where (flag = ? and order\_date is null) or (flag = ? and order\_date > ?)
	query.where().add(
	  query.or()
	    .add(
	      query.and()
		    .add(query.getColumn("flag").eq(new Integer(1)))
		    .add(query.getColumn("order\_date").isNull())
		 )
	    .add(
	      query.and()
	        .add(query.getColumn("flag").eq(new Integer(2)))
	        .add(query.getColumn("order\_date").gt(new Date()))
	     )
	);	
</pre>{sub-section{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:permission=edit}{tr:id=sncret}{td}*SinceReturns*\\{sub-section:and_sncret|texttrigger=button|triggertext=button}{sub-section}{sub-section:and_sncret|trigger=none|class=sIndent} Replace with version info[QBLogicalCondition]{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prssee}{td}*ParametersAlso see*\\{sub-section:and_prs|text=see|trigger=button|text=}{sub-section}{sub-section:and_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\div:class=sIndent}{sub-section:and_ret|text=see|trigger=buttonnone}{sub-section}{sub-section:and_ret|trigger=none|class=sIndent}[QBLogicalCondition]{sub-section}{td}{trdiv}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=seelink}{td}*AlsoExternal seelinks*\\{sub-section:and_seelink|texttrigger=button|triggertext=button}{sub-section}{div:class=sIndent}{sub-section:and_seelink|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=linksam}{td}*External linksSample*\\{sub-section:and_linksam|texttrigger=button|triggertext=button}{sub-section}{div:class=sIndent}{sub-section:and_linksam|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:and_sam|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:and_sam|trigger=none}{code:languagecode: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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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.
<pre>
// select pk from tab where floor(val / ?) > pk \[1999\]
IQueryBuilder query = queryFactory.createSelect(table.getDataSource()).result().addPk().getParent();
query.where()
 .add(query.functions().floor(query.getColumn(val.getName()).divide(new Integer(1999))).gt(query.getColumn(id.getName())))
 .getRoot().sort().add(query.getColumn(id.getName()).asc());
</pre>{sub-section}{td}{tr{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=sncprs}{td}*SinceParameters*\\{sub-section:functions_sncprs|texttrigger=button|triggertext=button}{sub-section}{sub-section:functions_sncprs|trigger=none|class=sIndent} Replace with version info{sub{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prsret}{td}*ParametersReturns*\\{sub-section:functions_prs|text=ret|trigger=button}{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|text=|trigger=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{sub-section}{sub-section:groupBy_des|trigger=none|class=sIndent}Get the group by clause from a query
<pre>
// SELECT val2, COUNT(val2) FROM tab GROUP BY val2 ORDER BY COUNT(val2) DESC
query.result().add(query.getColumn(val2.getName())).add(query.getColumn(val2.getName()).count())
  .getParent().groupBy().add(val2.getName())
  .getParent().sort().add(query.getColumn(val2.getName()).count().desc());
</pre>{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since{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_sncprs|texttrigger=button|triggertext=button}{sub-section}{sub-section:groupBy_sncprs|trigger=none|class=sIndent} Replace with version info{sub{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prsret}{td}*ParametersReturns*\\{sub-section:groupBy_prs|text=ret|trigger=button}{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|text=|trigger=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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.
<pre>
// select value from tab group by value having count(value) > 1
query.result().add(query.getColumn("value"))
   .getParent().groupBy().add("value")
   .getParent().having().add("value").count().gt(Integer.valueOf(1)));
</pre>{sub-section}{{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:having_snc|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|text=|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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{sub-section}{sub-section:joins_des|trigger=none|class=sIndent}Get the joins clause of this table based clause.
<p>JoinsJoins 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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{sub-section}{sub-section:or_des|trigger=none|class=sIndent}Create an OR\-condition to add conditions to.
<pre>
// where custid = ? and (order\_date is null or order\_date > ?)
query.where().add(query.getColumn("custid").eq(new Integer(200)))
    .add(
      query.or()
         .add(query.getColumn("order\_date").isNull())
         .add(query.getColumn("order\_date").gt(new Date()))
    );
</pre>{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:permission=edit}{tr:id=sncret}{td}*SinceReturns*\\{sub-section:or_sncret|texttrigger=button|triggertext=button}{sub-section}{sub-section:or_sncret|trigger=none|class=sIndent} Replace with version info[QBLogicalCondition]{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prssee}{td}*ParametersAlso see*\\{sub-section:or_prssee|texttrigger=button|triggertext=button}{sub-section}{div:class=sIndent}{sub-section:or_prssee|trigger=none|class=sIndent}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=retlink}{td}*ReturnsExternal links*\\{sub-section:or_retlink|texttrigger=button|triggertext=button}{sub-section}{div:class=sIndent}{sub-section:or_retlink|trigger=none|class=sIndent}[QBLogicalCondition]{sub-section}{div}{td}{tr}{builder-show:permission=edit}{tr:id=seesam}{td}*Also seeSample*\\{sub-section:or_seesam|texttrigger=button|triggertext=button}{sub-section}{div:class=sIndent}{sub-section:or_seesam|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:or_link|text=|trigger=button}{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|text=|trigger=button}{sub-section}{div:class=sIndent}{sub-section:or_sam|trigger=none}{code:language=javascript}
query.where.add(
	  query.or
	    .add(
	      query.and
		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(12))
	        .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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{sub-section}{sub-section:result_des|trigger=none|class=sIndent}Get the result part of the query, used to add result columns or values.
<pre>
query.result().add(query.getColumn("id")).add.query.getColumn("note"); // select id, note from tab
</pre>{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:result_snc|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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.columns.order_id)).root
			))
		)
		
	foundset.loadRecords(query)
{code)
{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}{tdbuilder-show}{trbuilder-show:permission=edit}{tr:classid=lastDetailRowlink}{td}{td}{tr}{tbody}{tbody:id=sort|class=node}{tr:id=name}{td}h6.sort*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=dessam}{td}*Sample*\\{sub-section:sort_dessam|texttrigger=button|triggertext=button}{sub-section}{div:class=sIndent}{sub-section:sort_dessam|trigger=none|class=sIndent}Get the sorting part of the query.
<pre>
query.sort().add(query.getColumn("note").desc()).add(query.getColumn("id")); // order by note desc, id asc
</pre>{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:sort_snc|text=|trigger=button}{sub-section}{sub-section:sort_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{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}{builder-show}{builder-show:permission=edittbody:id=where|class=node}{tr:id=name}{td}h6.where{td}{tr}{tr:id=prsdes}{td}*Parameters*\\{sub-section:sortwhere_prsdes|texttrigger=button|triggertext=button}{sub-section}{sub-section:sortwhere_prsdes|trigger=none|class=sIndent}|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=retsnc}{td}*ReturnsSince*\\{sub-section:sortwhere_retsnc|texttrigger=button|triggertext=button}{sub-section}{sub-section:sortwhere_retsnc|trigger=none|class=sIndent}[QBSorts] Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=seeprs}{td}*Also seeParameters*\\{sub-section:sortwhere_seeprs|texttrigger=button|triggertext=button}{sub-section}{div:class=sIndent}{sub-section:sortwhere_seeprs|trigger=none|class=sIndent}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=linkret}{td}*External linksReturns*\\{sub-section:sortwhere_linkret|texttrigger=button|triggertext=button}{sub-section}{div:class=sIndent}{sub-section:sortwhere_linkret|trigger=none|class=sIndent}[QBWhereCondition]{sub-section}{div}{td}{tr}{builder-show:permission=edit}{tr:id=samsee}{td}*SampleAlso see*\\{sub-section:sortwhere_samsee|texttrigger=button|triggertext=button}{sub-section}{div:class=sIndent}{sub-section:sortwhere_samsee|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}{trsub-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=dessam}{td}*Sample*\\{sub-section:where_dessam|texttrigger=button|triggertext=button}{sub-section}{div:class=sIndent}{sub-section:where_dessam|trigger=none|class=sIndent}Get the where\-part of the query, used to add conditions.
The conditions added here are AND\-ed.
<pre>}{code:language=javascript}
var query = foundset.getQuery()
query.where().add(query.columns.getColumn("flag").eq(new Integer(1)).add(query.getColumn("foo").isNull(); // where flag = 1 and foo is null
</pre>{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:where_snc|text=|trigger=button}{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|text=|trigger=button}{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|text=|trigger=button
{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:whereclearHaving_retdes|trigger=none|class=sIndent}[QBLogicalCondition]Clear the having\-part of the query.{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=seesnc}{td}*Also seeSince*\\{sub-section:where_see|text=clearHaving_snc|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:whereclearHaving_seesnc|trigger=none|class=sIndent} Replace with version info{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=linkprs}{td}*External linksParameters*\\{sub-section:whereclearHaving_linkprs|texttrigger=button|triggertext=button}{sub-section}{div:class=sIndent}{sub-section:whereclearHaving_linkprs|trigger=none|class=sIndent}{sub-section}{div}{td}{tr}{builder-show}{tr:id=samret}{td}*SampleReturns*\\{sub-section:whereclearHaving_samret|texttrigger=button|triggertext=button}{sub-section}{div:class=sIndent}{sub-section:whereclearHaving_samret|trigger=none}{code:language=javascript}
var query = foundset.getQuery()
query.where.add(query.columns.flag.eq(1))
{code}|class=sIndent}[QBSelect]{sub-section}{div}{td}{tr}{trbuilder-show:classpermission=lastDetailRowedit}{tdtr:id=see}{td}{tr}{tbody}{table}\\ 

{table:id=function|class=servoy sDetail}{colgroup}{column:padding=0px|width=100%}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Method Details{th}{tr}{tbody:id=exists|class=node}{tr:id=name}{td}h6.exists{td}{tr*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=siglink}{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*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=dessam}{td}*Sample*\\{sub-section:existsclearHaving_dessam|texttrigger=button|triggertext=button}{sub-section}{sub-section:exists_des|trigger=none|div:class=sIndent}Get an exists\-condition from a subquery
<pre>
 // where exists (select 1 from tab where flag = ?)
 query.where().add(query.exists(subQuery.result().addValue(new Integer(1)).getParent().where().add(subQuery.getColumn("flag").eq("T")).getRoot()));
 
 // or simple variant: adds 'select 1' and calls getRoot()
 query.where().add(query.exists(subQuery.where().add(subQuery.getColumn("flag").eq("T"))));
</pre>{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:exists_snc|text=|trigger=button}{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|text=|trigger=button}{sub-section}{sub-section:exists_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{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_retdes|texttrigger=button|triggertext=button}{sub-section}{sub-section:exists_retdes|trigger=none|class=sIndent}[QBCondition]Get an exists\-condition from a subquery{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=seesnc}{td}*Also seeSince*\\{sub-section:exists_seesnc|texttrigger=button|triggertext=button}{sub-section}{div:class=sIndent}{sub-section:exists_seesnc|trigger=none|class=sIndent} Replace with version info{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=linkprs}{td}*External linksParameters*\\{sub-section:exists_linkprs|texttrigger=button|triggertext=button}{sub-section}{div:class=sIndent}{sub-section:exists_linkprs|trigger=none|class=sIndent}{sub-section}{div}{td}{tr}{builder-show}{tr:id=samret}{td}*SampleReturns*\\{sub-section:exists_samret|texttrigger=button|triggertext=button}{sub-section}{div:class=sIndent}{sub-section:exists_samret|trigger=none}{code:language=javascript}
foundset.query.where.add(query.exists(query2))
{code}|class=sIndent}[QBCondition]{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}{trbuilder-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=deslink}{td}*External links*\\{sub-section:getColumn-Stringexists_deslink|texttrigger=button|triggertext=button}{sub-section-section}{div:class=sIndent}{sub-section:getColumn-Stringexists_deslink|trigger=none|class=sIndent}Get a column from the table.{sub-section}{div}{td}{tr}{builder-show:permission=edit}{tr:id=sncsam}{td}*SinceSample*\\{sub-section:getColumn-Stringexists_sncsam|texttrigger=button|triggertext=button}{sub-section}{div:class=sIndent}{sub-section:getColumn-Stringexists_sncsam|trigger=none|class=sIndent} Replace with version info}{code:language=javascript}
foundset.query.where.add(query.exists(query2))
{code}{sub-section}{div}{td}{tr}{builder-show}{tr:idclass=prslastDetailRow}{td}*Parameters*\\{sub-section:getColumn-String_prs|text=|trigger=button}{sub-section}{sub-section:getColumn-String_prs|trigger=none|class=sIndent}\{[String]} name -- the name of column to get
{sub-section}{td}{tr}{tbody}{tbody:id=getColumn-String|class=node}{tr:id=name}{td}h6.getColumn{td}{tr}{tr:id=retsig}{td}*Returns*\\{sub-section:getColumn-String_ret|text=|trigger=button}{sub-section}{sub-section:getColumn-String_ret|trigger=none|class=sIndent}[QBColumn]{sub-section{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}{builder-show:permission=edit}{tr:id=seedes}{td}*Also see*\\{sub-section:getColumn-String_seedes|texttrigger=button|triggertext=button}{sub-section}{div:class=sIndent}{sub-section:getColumn-String_seedes|trigger=none|class=sIndent}Get a column from the table.{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=linksnc}{td}*External linksSince*\\{sub-section:getColumn-String_linksnc|texttrigger=button|triggertext=button}{sub-section}{div:class=sIndent}{sub-section:getColumn-String_linksnc|trigger=none|class=sIndent} Replace with version info{sub-section}{div}{td}{tr}{builder-show}{tr:id=samprs}{td}*SampleParameters*\\{sub-section:getColumn-String_samprs|texttrigger=button|triggertext=button}{sub-section}{div:class=sIndent}{sub-section:getColumn-String_samprs|trigger=none|class=sIndent}{code:language=javascript}
foundset.getQuery().getColumn('orderid')
{code}\{[String]} name -- the name of column to get
{sub-section}{div}{td}{tr}{tr:classid=lastDetailRowret}{td}{td}{tr}{tbody}{tbody:id=*Returns*\\{sub-section:getColumn-String_ret|trigger=button|text=}{sub-section}{sub-section:getColumn-String_Stringret|trigger=none|class=nodesIndent}{tr:id=name}{td}h6.getColumn[QBColumn]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=sigsee}{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*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=deslink}{td}*External links*\\{sub-section:getColumn-String_String_deslink|texttrigger=button|triggertext=button}{sub-section}{div:class=sIndent}{sub-section:getColumn-String_String_deslink|trigger=none|class=sIndent}Get a column from the table with given alias.
<p>The alias may be of the main table or any level deep joined table.{sub-section}{div}{td}{tr}{builder-show:permission=edit}{tr:id=sncsam}{td}*SinceSample*\\{sub-section:getColumn-String_String_sncsam|texttrigger=button|triggertext=button}{sub-section}{div:class=sIndent}{sub-section:getColumn-String_String_sncsam|trigger=none|class=sIndent} Replace with version info}{code:language=javascript}
foundset.getQuery().getColumn('orderid')
{code}{sub-section}{div}{td}{tr}{builder-show}{tr:id=prsclass=lastDetailRow}{td}{td}*Parameters*\\{sub-section:}{tr}{tbody}{tbody:id=getColumn-String_String_prs|text=|trigger=button}{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-sectionclass=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=retdes}{td}*Returns*\\{sub-section:getColumn-String_String_retdes|texttrigger=button|triggertext=button}{sub-section}{sub-section:getColumn-String_String_retdes|trigger=none|class=sIndent}[QBColumn]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=seesnc}{td}*Also seeSince*\\{sub-section:getColumn-String_String_seesnc|texttrigger=button|triggertext=button}{sub-section}{div:class=sIndent}{sub-section:getColumn-String_String_seesnc|trigger=none|class=sIndent} Replace with version info{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=linkprs}{td}*External linksParameters*\\{sub-section:getColumn-String_String_linkprs|texttrigger=button|triggertext=button}{sub-section}{div:class=sIndent}{sub-section:getColumn-String_String_link|trigger=none}prs|trigger=none|class=sIndent}\{[String]} columnTableAlias -- the alias for the table
\{[String]} name -- the name of column to get
{sub-section}{div}{td}{tr}{builder-show}{tr:id=samret}{td}*SampleReturns*\\{sub-section:getColumn-String_String_samret|texttrigger=button|triggertext=button}{sub-section}{div:class=sIndent}{sub-section:getColumn-String_String_samret|trigger=none}{code:language=javascript}
foundset.getQuery().getColumn('orderid', 'opk')
{code}|class=sIndent}[QBColumn]{sub-section}{div}{td}{tr}{trbuilder-show:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getParameter|class=node}{tr:id=name}{td}h6.getParameter{td}{trpermission=edit}{tr:id=sigsee}{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*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=des}{td}link}{td}*External links*\\{sub-section:getParameter_des|text=|trigger=buttongetColumn-String_String_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getParameter_desgetColumn-String_String_link|trigger=none|class=sIndent}Get or create a parameter for the query, this used to parameterize queries.
<pre>
query.where().add(query.getColumn("flag").eq(query.getParameter("myvar"));
query.getParameter("myvar").setvalue(new Integer(1));
</pre>{sub-section}{div}{td}{tr}{builder-show:permission=edit}{tr:id=sncsam}{td}*SinceSample*\\{sub-section:getParameter_snc|text=|trigger=buttongetColumn-String_String_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getParameter_sncgetColumn-String_String_sam|trigger=none|class=sIndent} Replace with version info}{code:language=javascript}
foundset.getQuery().getColumn('orderid', 'opk')
{code}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prstr:class=lastDetailRow}{td}{td}*Parameters*\\{sub-section:getParameter_prs|text=|trigger=button}{sub-section}{sub-section:getParameter_prs|trigger=none|class=sIndent}{sub-section}{tr}{tbody}{tbody:id=getParameter|class=node}{tr:id=name}{td}h6.getParameter{td}{tr}{builder-show}{tr:id=retsig}{td}*Returns*\\{sub-section:getParameter_ret|text=|trigger=button}{sub-section}{sub-section:getParameter_ret|trigger=none|class=sIndent}[QBParameter]{sub-section{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}{builder-show:permission=edit}{tr:id=seedes}{td}*Also see*\\}{sub-section:getParameter_seedes|texttrigger=button|triggertext=button}{sub-section}{div:class=sIndent}{sub-section:getParameter_seedes|trigger=none|class=sIndent}Get or create a parameter for the query, this used to parameterize queries.{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=linksnc}{td}*External linksSince*\\{sub-section:getParameter_linksnc|texttrigger=button|triggertext=button}{sub-section}{div:class=sIndent}{sub-section:getParameter_linksnc|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getParameter_sam|text=|trigger=button}|class=sIndent} Replace with version info{sub-section}{td}{tr}{div:class=sIndentbuilder-show}{subbuilder-section:getParameter_sam|trigger=noneshow:permission=edit}{codetr: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}{divid=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}{trbuilder-show:classpermission=lastDetailRowedit}{tdtr:id=see}{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*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=dessam}{td}*Sample*\\{sub-section:not-QBConditiongetParameter_dessam|texttrigger=button|triggertext=button}{sub-section}{div:class=sIndent}{sub-section:not-QBConditiongetParameter_dessam|trigger=none|class=sIndent}Create an negated condition.
<pre>
// where not (order\_date is null or order\_date > ?)
  query.where().add(query.not(
	       query.or()
	          .add(query.getColumn("order\_date").isNull())
	          .add(query.getColumn("order\_date").gt(new Date()))
	     )
	   );
</pre>}{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=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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:not-QBLogicalCondition_des|texttrigger=button|triggertext=button}{sub-section}{sub-section:not-QBLogicalCondition_des|trigger=none|class=sIndent}ReplaceCreate an withnegated descriptioncondition.{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:not-QBLogicalCondition_snc|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{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|texttrigger=button|triggertext=button}{sub-section}{div:class=sIndent}{sub-section:not-QBLogicalCondition_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}{table}