<span style="font-size:24px;"><strong>SELECT <selects> FROM <types> ( WHERE <conditions> )? ( ORDER BY <order> )?</strong></span>
一个FlexibleSearch查询包括:
强制性的<selects>参数对SELECT子句。
强制性的<type>参数为对FROM子句。
强制性的一个可选的<conditions>字段的WHERE子句。
一个可选的ORDER BY子句。
<selects>
在<selects>字段中的值指定要返回的数据库列。星号(*)将返回所有数据库列,如SQL约定。要搜索一个属性,指定大括号,如属性标识符:SELECT{code}FROM {Product}。
要获取本地化的属性值,使用的语言标识符作为后缀属性名在,包含在方括号([and]),如:
SELECT * FROM {Category}这个查询返回每个数据库列的Category表。
SELECT {pk},{code},{name[de]} FROM {Product}
从产品表查询返回的数据库pk,code,name[de]列.
<type>
该数值为<type>在FROM子句中字段中指定采用hybris Commerce Suite的类型,嵌套在大括号{and}这是要搜索,例如:
SELECT * FROM {Product} SELECT * FROM {Category JOIN Catalog}
你可以指定一个别名用于区分属性字段,使用AS运算符:
SELECT {p.code} FROM {Product AS p} ORDER BY {p.code}您也可以运行JOIN和LEFT JOIN的查询,如:
SELECT {cj.code} FROM {SyncItemCronJob AS sicj JOIN SyncItemJob AS sij ON {sicj:job} = {sij:pk} } SELECT {p1.PK},{p2.PK} FROM {Product AS p1 LEFT JOIN Product AS p2 ON {p1.code} = {p2.code} } WHERE {p1.PK} <> {p2.PK} ORDER BY {p1.code} ASC
一定要记住,这是最重要的,整个<type>块必须由封闭{和}不管多种类型.不要试图在多个放<type>块在FROM子句中。尽管这看起来是工作,它可能会导致不可预知的错误。