无法创建灵活的搜索查询

2020-09-20 14:29发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我想创建灵活的搜索查询以获取特定产品目录(例如defalut:stage)的产品" XYZ"的所有超类别

下面是我生成的查询。

选择{p:code},{c:code},从{产品作为p JOIN CategoryProductRelation依赖于rel ON {p:PK} = {rel:target} JOIN类别AS c ON {rel:source} = {c:PK}},其中{p:code} =" XYZ"和{p:catalogVersion} =" 8796093252185"

由于我想在多个系统上使用目录,因此如何使用ID和版本而不是PK来比较目录?

谢谢Rasika

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我想创建灵活的搜索查询以获取特定产品目录(例如defalut:stage)的产品" XYZ"的所有超类别

下面是我生成的查询。

选择{p:code},{c:code},从{产品作为p JOIN CategoryProductRelation依赖于rel ON {p:PK} = {rel:target} JOIN类别AS c ON {rel:source} = {c:PK}},其中{p:code} =" XYZ"和{p:catalogVersion} =" 8796093252185"

由于我想在多个系统上使用目录,因此如何使用ID和版本而不是PK来比较目录?

谢谢Rasika

付费偷看设置
发送
4条回答
黑丝骑士
1楼 · 2020-09-20 14:52.采纳回答

只需向目录版本和目录类型添加更多联接

 从{product as p中选择{cat.code}
  在{p.catalogversion} = {cv.pk}上以cv身份加入catalogversion
  在{cv.catalog} = {c.pk}上以c的身份加入目录
  在{cpr.target} = {p.pk}上以cpr加入categoryproductrelation
  在{cpr.source} = {cat.pk}}上以cat的身份加入类别
  其中{c.id} ='my-catalog'和{cv.version} ='Online'和{p.code} ='XYZ'
  
Bunny_CDM
2楼-- · 2020-09-20 15:03

您可以在CatalogVersion类型上添加其他JOIN,也可以使用简单的子选择。 只需点击 https://help.hybris.com/6.7.0/hcd/8bc33bb28669101481ccfb446695e9de.html,并仔细阅读"子选择"部分以了解一个想法。

ZJXianG
3楼-- · 2020-09-20 14:49

您可以使用以下灵活搜索查询:

 选择{p:code},{c:code} FROM
   {
      产品为p JOIN类别产品相关为rel
      开启{p:PK} = {rel:target}
      加入类别AS c
      开启{rel:source} = {c:PK}
   }
   {p:code} ='1934794'和{p:catalogVersion} =({{在{catalogVersion}中选择{PK},在{catalog} =({{从{catalog}中选择{PK},在{id} =  electronicsProductCatalog'}}和{version} ='Staged'}})
  

或者,您甚至可以如下完全删除关键字 JOIN

 选择{p:PK},{c:code}
  从{Product as p},{CategoryProductRelation as rel},{Category AS c}
  哪里
      {p:PK} = {rel:target}
      AND {rel:source} = {c:PK}
      AND {p:code} ='1934794'
      AND {p:catalogVersion} =({{SELECT {PK}
                              来自{catalogVersion}
                              哪里
                                  {catalog} =({{SELECT {PK}
                                              来自{目录}
                                              哪里
                                                  {id} ='electronicsProductCatalog'}})
                                                  AND {version} ='Staged'}})
  

注意:请根据您的要求更改 code id 的值。 安德鲁的查询比我的查询干净,但我的查询更简单。

Baoming ROSE
4楼-- · 2020-09-20 15:01

您需要使用CATEGORYPRODUCTRELATION来获取所需的信息。 这是应该起作用的解决方案

从{CategoryProductRelation中选择{p.code},{c.code},作为{ p.pk < /a>}={r.target}在{r.source} = { c.pk }

一周热门 更多>