I'm new to OrientDB and I need some help in writing a query.
I have following classes in my DB:
- Order {orderId:String, ...}
- MenuItem {dishName: String, ...}
- There's an edge 'has_menu_item' from Order -> has_menu_item -> MenuItem.
- Edge 'has_menu_item' has a property 'orderQty'
The help I need is to write a query where the orderQty needs to be aggregated for each day based on some date condition from Order.orderDate
Expected Output:
+--------------+-----------------+--------------------------+
|# |Date |dishName |Sum(orderQty) |
+--------------+-----------------+--------------------------+
|0 |12-05-2020 |Pizza |9 |
|1 |12-05-2020 |Burger |5 |
|2 |13-05-2020 |Burrito |20 |
+--------------+-----------------+--------------------------+
My query:
select orderDate, out('has_menu_item').dishName, out_has_menu_item.orderQty
from (SELECT EXPAND(IN('has_menu_item')) FROM MenuItem)
Actual output
+--------------+-----------------+--------------------------+
|# |Date |dishName |Sum(orderQty) |
+--------------+-----------------+--------------------------+
|0 |12-05-2020 |[Pizza, Burger] |[5,5] |
|1 |12-05-2020 |[Pizza, Burrito] |[4,12] |
|2 |13-05-2020 |[Burrito] |[8] |
+--------------+-----------------+--------------------------+
Somehow I'm unable to get desired output. What's the best way to get the result I'm looking for? Thanks in advance.