У меня есть следующие классы в моей БД:
- Товары{имя:Строка, цена:Двойной, ...}
- OrderSpec{товары(1-1):Ссылка, количество:Double}
- Заказ{spec(1-*):LinkList, date:Date, ...}
Затем я должен выбрать все товары из заказов с определенной датой, сгруппировать их и сделать некоторые агрегаты, например. Сумма количества для каждого товара. В стандартной базе данных SQL я бы сделал пару объединений, отфильтровал по дате и сгруппировал по goods_id, но не могу понять, как этого добиться в OrientDB. я начал с
select expand(spec) from Order where date = "..."
Но когда я добавляю группировку:
select expand(spec) from Order group by spec.goods
Результат пустой.
В общем, я хотел бы найти эквивалент следующего SQL-запроса:
select goods_id, goods_name, sum(order_spec_quantity), sum(goods_price) from Order
left join OrderSpec on order_id = order_spec_order_id
left join Goods on goods_id = order_spec_goods_id
where date = 'some date'
group by goods_id, goods_name