FrexibleSearch Query语法

SELECT  FROM  ( WHERE  )? ( ORDER BY  )?
一个FlexibleSearch查询包括:

    强制性的>参数对SELECT子句

    强制性的>参数为对FROM子句

    强制性的一个可选的字段WHERE子句。

    一个可选的ORDER BY子句。

<selects>

>字段中的指定要返回的数据库列星号*将返回所有数据库SQL约定。要搜索一个属性指定大括号属性标识符SELECT{code}FROM {Product}

要获取本地化属性使用的语言标识符作为后缀属性名包含在方括号[and]如:

SELECT * FROM {Category}
这个查询返回每个数据库列的Category表。


SELECT {pk},{code},{name[de]} FROM {Product}

产品查询返回数据库pk,code,name[de].



>

数值>在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子句中尽管这看起来是工作它可能会导致不可预知的错误



你可能感兴趣的:(hybris)