{% extends 'minifigure/base/select.sql' %}

{% block total_missing %}
SUM(IFNULL("missing"."quantity", 0)) AS "total_missing",
{% endblock %}

{% block join %}
LEFT JOIN "missing"
ON "minifigures"."fig_num" IS NOT DISTINCT FROM "missing"."set_num"
AND "minifigures"."u_id" IS NOT DISTINCT FROM "missing"."u_id"
{% endblock %}

{% block where %}
WHERE "minifigures"."fig_num" IN (
    SELECT
        "missing"."set_num"
    FROM "missing"

    WHERE "missing"."color_id" IS NOT DISTINCT FROM :color_id
    AND "missing"."element_id" IS NOT DISTINCT FROM :element_id
    AND "missing"."part_num" IS NOT DISTINCT FROM :part_num

    GROUP BY "missing"."set_num"
)
{% endblock %}

{% block group %}
GROUP BY
    "minifigures"."fig_num"
{% endblock %}