2

次のエンティティがあります。

class Restaurant
{
    // ...
}

class Order
{
    /**
     * The Restaurant this order belongs to.
     *
     * @var Restaurant
     */
    protected $restaurant;

    /**
     * The status of this order: 'pending', 'accepted' or 'rejected'.
     *
     * @var string
     */
    protected $status;

    // ...
}

レストランは、0 個以上の注文を持つことができます。

すべてのレストランに、注文の総数と、各ステータスの注文の数を照会したいと思います。

次のクエリを思いつきました。

SELECT r, COUNT(o.id) AS totalOrders
FROM Restaurant r
LEFT JOIN Order o WITH o.restaurant = r
GROUP BY r.id

pendingOrdersacceptedOrdersおよびのカウントを取得するにはどうすればよいrejectedOrdersですか?

4

1 に答える 1