У меня есть следующие таблицы:
Orders
order_id
9
10
11
Order_details
order_id, product_id
9, 7
10, 5
10, 6
11, 6
11, 7
Products
product_id, product_name, price
5, potato, 4.99
6, potato *, 7.5
7, orange, 7.99
Я уже получил отзыв о том, как найти заказы, в которых дублируются названия продуктов, но теперь ситуация немного сложнее, поскольку оказалось, что дублированные позиции имеют дополнительный знак '*'после его названия, как показано выше.
Как добавить к этому запросу возможность подсчитывать ТОЛЬКО заказы, если есть один товар без дополнительных символов и другой с ним?
, например, "картошка" и«potato» будет игнорироваться, «potato *» и «potato *» также будут игнорироваться, но порядок с «potato» и «potato *» будет в результатах
select od.order_id
from order_details od join
products p
on od.product_id = p.product_id
group by od.order_id
having count(p.product_name) > count(distinct p.product_name)