2

Hybris 为同一个基础商店的用户创建了多个购物车。如何选择一个商店拥有多个购物车的用户?

稍后我将对它们进行排序并删除最旧的。

SELECT {u.code} as userCode,
       {c.code} as cartCode,
       {c.site} as cartSite
FROM {User as u join Cart as c on {u.pk} = {c.user}}
WHERE...
4

2 回答 2

3

使用这个:

select {u.pk}, {b.pk}, count(distinct({c.pk})) 
from {
   user as u 
   join cart as c on {c.user} = {u.pk} 
   join basestore as b on {b.pk} = {c.store}
} 
group by {u.pk}, {b.pk} 
having count(distinct({c.pk})) > 1
于 2019-05-16T13:01:49.097 回答
1

如果您正在使用保存的购物车和报价功能,那么您可以考虑通过添加不将其包含在结果中WHERE {c.saveTime} IS NULL AND {c.quoteReference} IS NULL

select {u.pk}, {b.pk}, count(distinct({c.pk})) 
from {
   user as u 
   join cart as c on {c.user} = {u.pk} 
   join basestore as b on {b.pk} = {c.store}
}

WHERE {c.saveTime} IS NULL AND {c.quoteReference} IS NULL
GROUP BY {u.pk}, {b.pk}
having count(distinct({c.pk})) > 1

更新:

要获取用户的唯一列表:

select {u.pk} 
from {...
于 2019-05-16T14:12:05.830 回答