Child pages
  • QBJoin

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
{hiddendiv: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 EXTRACTAUTO CHANGES FROMUPDATE THE PAGECONTENT ANDTHROUGH MERGETHE THEM BACK INTO SERVOY SOURCE{hiddenDOC GENERATOR{div}
{sub-sectiondiv:id=description|text=}{sub-sectiondiv}\\ 

{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}[QBColumns]{td}{td}[#columns]
Get columns from query{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}[#on]
Get the on clause for the join.{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}[QBSelect]{td}{td}[#root]
Get query builder parent.{td}{tr}{tbody}{table}\\ 

{table:id=|class=servoy sSummary}{colgroup}{column:width=80px|padding=0px}{column}{column}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=2}Method Summary{th}{tr}{tbody}{tr}{td}[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}{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=columns|class=node}}{tr:id=name}{td}h6.columns{td}{tr}{builder-showtr:permission=edit}{tr:id=des}{td}{sub-section:columns_des|trigger=button|text=}{sub-section}{sub-section:columns_des|trigger=none|class=sIndent}Replace with description{sub-sectionid=ret}{td}*Returns*\\{div:class=sIndent}[QBColumns]{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
foundset.getQuery().columns
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{builder-showtbody}{builder-showtbody:permissionid=editjoins}{tr:id=sncname}{td}*Since*\\{sub-section:columns_snc|trigger=button|text=}{sub-section}{sub-section:columns_snc|trigger=none|class=sIndent} Replace with version info{sub-sectionh6.joins{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[QBJoins]{div}{td}{tr}{builder-show}{builder-show:permission=edit}{trtr:id=prssam}{td}*ParametersSample*\\{sub-section:columns_prs|trigger=button|text=}{sub-section}{sub-section:columns_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-showdiv:class=sIndent}{code:language=javascript}
foundset.getQuery().joins
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=on}{tr:id=name}{td}h6.on{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:columns_ret|trigger=button|text=}{sub-section}{sub-section:columns_ret|trigger=none|class=sIndent}[QBColumns]{sub-sectiondiv:class=sIndent}[QBLogicalCondition]{div}{td}{tr}{builder-show:permission=edit}{tr:id=seesam}{td}*Also seeSample*\\{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-sectiondiv:class=sIndent}{code:language=javascript}
/** @type {QBSelect<db:/example_data/person>} */
var query = databaseManager.createSelect('db:/example_data/person')
/** @type {QBJoin<db:/example_data/person>} */
var join1 = query.joins.add('db:/example_data/person')
join1.on.add(query.columns.parent_person_id.eq(join1.columns.person_id))
/** @type {QBJoin<db:/example_data/person>} */
var join2 = query.joins.add('db:/example_data/person')
join2.on.add(join1.columns.parent_person_id.eq(join2.columns.person_id))
	
query.where.add(join2.columns.name.eq('john'))
foundset.loadRecords(query)
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=joins|class=nodeparent}{tr:id=name}{td}h6.joinsparent{td}{tr}{builder-showtr:permissionid=editret}{tr:id=destd}*Returns*\\{div:class=sIndent}[QBTableClause]{div}{td}{tr}{sub-section:joins_des|trigger=button|text=}{sub-section}{sub-section:joins_des|trigger=none|tr:id=sam}{td}*Sample*\\{div:class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{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{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}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=root}{tr:id=name}{td}h6.root{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:joins_ret|trigger=button|text=}{sub-section}{sub-section:joins_ret|trigger=none|div:class=sIndent}[QBJoinsQBSelect]{sub-sectiondiv}{td}{tr}{builder-show:permission=edit}{tr:id=seesam}{td}*Also seeSample*\\{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=on|class=node}{tr:id=name}{td}h6.on{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:on_des|trigger=button|text=}{sub-section}{sub-section:on_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:on_snc|trigger=button|text=}{sub-section}{sub-section:on_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:on_prs|trigger=button|text=}{sub-section}{sub-section:on_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:on_ret|trigger=button|text=}{sub-section}{sub-section:on_ret|trigger=none|class=sIndent}[QBLogicalCondition]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:on_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:on_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:on_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:on_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:on_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:on_sam|trigger=none}{code:language=javascript}
/** @type {QBSelect<db:/example_data/person>} */
var query = databaseManager.createSelect('db:/example_data/person')
/** @type {QBJoin<db:/example_data/person>} */
var join1 = query.joins.add('db:/example_data/person')
join1.on.add(query.columns.parent_person_id.eq(join1.columns.person_id))
/** @type {QBJoin<db:/example_data/person>} */
var join2 = query.joins.add('db:/example_data/person')
join2.on.add(join1.columns.parent_person_id.eq(join2.columns.person_id))
	
query.where.add(join2.columns.name.eq('john'))
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}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:parent_des|trigger=button|text=}{sub-section}{sub-section:parent_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{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=root|class=node}{tr:id=name}{td}h6.root{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:root_des|trigger=button|text=}{sub-section}{sub-section:root_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{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}{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=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}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:getColumn-String_des|trigger=button|text=}{sub-section}{sub-section:getColumn-String_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{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-sectiondiv:class=sIndent}{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}{div}{td}{tr}{builder-show}{tr:id=samclass=lastDetailRow}{td}{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}{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=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;{span}\(columnTableAlias, name){span}{td}{tr}{builder-show:permission=edit}{tr:id=desprs}{td}{sub-section:getColumn-String_String_des|trigger=button|text=}{sub-section}{sub-section:getColumn-String_String_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit*Parameters*\\{div:class=sIndent}\{[String]} name -- the name of column to get
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[QBColumn]{div}{td}{tr}{tr:id=sncsam}{td}*SinceSample*\\{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-sectiondiv:class=sIndent}{code:language=javascript}
foundset.getQuery().getColumn('orderid')
{code}{div}{td}{tr}{builder-show}{tr:id=prsclass=lastDetailRow}{td}{td}*Parameters*\\{sub-section:getColumn-String_String_prs|trigger=button|text=}{sub-section}{sub-section:{tr}{tbody}{tbody:id=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}{tr:id=name}{td}h6.getColumn{td}{tr}{tr:id=retsig}{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}{span:style=margin-right: 5px;}[QBColumn]{span}{span:style=font-weight: bold;}getColumn{span}{span}\(columnTableAlias, name){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}{sub-section:getColumn-String_String_see|trigger=none}{sub-section}\{[String]} columnTableAlias -- the alias for the table
\{[String]} name -- the name of column to get
{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=linkret}{td}*External linksReturns*\\{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:class=sIndent}[QBColumn]{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}{table}