当前位置: 首页 > 知识库问答 >
问题:

hybris灵活搜索联合查询获取产品

齐文栋
2023-03-14
   code    Attribute1(String)

    A         C
    B         D
    C         Empty
    D         Empty 

如何获得所有A、B、C、D的pk

注意:使用字符串值C,D,我想使用灵活的搜索查询获取产品C,D以及A,B的pk

细节:

我有产品的清单。

在每个产品中都有一个名为“X”的属性,其中包含string类型的产品ID代码

注意:“产品ID代码”是指产品列表中另一个产品的“产品ID”。

现在我想根据产品ID代码获得产品的pk?

共有1个答案

聂奇
2023-03-14

我不完全明白,但你可以试试这样的方法

select {p1.pk},{p2.pk} from {product as p1},{product as p2} WHERE {p1.Attribute1} = {p2.code}

你可以添加过滤器

 AND {p1.Attribute1} in ('C','D')

使用联合

SELECT uniontable.PK FROM
(
   {{
      SELECT {p1:PK} AS PK FROM {Product AS p1},{Product AS p2} 
      WHERE {p1.code} = {p2.Attribute1}
   }}
   UNION ALL
   {{
      SELECT {p:PK} AS PK FROM {Product AS p}
      WHERE {p1.Attribute1} is not empty
   }}
) uniontable

带过滤器

SELECT uniontable.PK FROM
(
   {{
      SELECT {p1:PK} AS PK FROM {Product AS p1},{Product AS p2} 
      WHERE {p1.code} = {p2.Attribute1} AND {p2.Attribute1} in ('C','D')
   }}
   UNION ALL
   {{
      SELECT {p:PK} AS PK FROM {Product AS p}
      WHERE {p.Attribute1} in ('C','D')
   }}
) uniontable
 类似资料:
  • 我想使用Impex从表中删除一些项目。下面的示例不会抛出错误,但不会删除任何内容。 查询产生预期的结果。是REMOVE与灵活的搜索不兼容,还是我遗漏了什么? 问题是,我正在hotfolder上运行导入,我想事先删除所有现有项目。我们欢迎其他解决方案。

  • 我对灵活的查询有问题。这是我的疑问: 这是我执行时的错误: 有人能帮我吗?谢谢。

  • 我有以下要求:当您进行搜索时,如果没有结果,请显示活动目录版本中的所有产品。如何在Java中查询SOLR中的所有产品?是否有任何OOTB服务已经获取目录中的所有产品?

  • 在hybris中,我创建了ArchivalOrderModel扩展了orderModel 将数据从OrderModel移动到ArchivalOrderModel。(已从OrderModel中删除记录) 当我启动查询时 结果我也得到了ArchivalOrderModel的记录。 是否有任何方法可以在数据建模定义或任何其他存档建议的帮助下进行限制

  • 我有一个问题,我必须做一个查询,根据产品上是否有图像,我必须在列中显示“是”或“否”的值。我必须加入product表这是安全的,但我如何在查询中判断“image presence”字段是否为空,写“no”,否则写“yes”。我希望我已经解释过了。谢谢大家。

  • 我的任务是使用lucene在我们的产品表中搜索。我已经创建了一个索引,正在使用带有多个字段的QueryParser进行搜索,但结果不是我所需要的。我有一个存储为LM10的产品,但如果搜索词是LM 10,我希望能够找到它,但如果搜索词是Fred LM10或Fred LM 10,它也必须能够匹配。你知道我如何在Lucene做到这一点吗。 提前谢谢