2025-01-27 18:39:35 +01:00
|
|
|
{% extends 'minifigure/base/base.sql' %}
|
2025-01-17 11:03:00 +01:00
|
|
|
|
|
|
|
{% block total_missing %}
|
2025-01-20 19:39:12 +01:00
|
|
|
SUM(IFNULL("missing_join"."total", 0)) AS "total_missing",
|
2025-01-17 11:03:00 +01:00
|
|
|
{% endblock %}
|
|
|
|
|
2025-01-24 10:25:40 +01:00
|
|
|
{% block total_quantity %}
|
2025-01-27 18:39:35 +01:00
|
|
|
SUM(IFNULL("bricktracker_minifigures"."quantity", 0)) AS "total_quantity",
|
2025-01-17 11:03:00 +01:00
|
|
|
{% endblock %}
|
|
|
|
|
|
|
|
{% block total_sets %}
|
2025-01-27 23:07:10 +01:00
|
|
|
COUNT("bricktracker_minifigures"."id") AS "total_sets"
|
2025-01-17 11:03:00 +01:00
|
|
|
{% endblock %}
|
|
|
|
|
|
|
|
{% block join %}
|
|
|
|
-- LEFT JOIN + SELECT to avoid messing the total
|
|
|
|
LEFT JOIN (
|
|
|
|
SELECT
|
2025-01-28 19:18:51 +01:00
|
|
|
"bricktracker_parts"."id",
|
|
|
|
"bricktracker_parts"."figure",
|
|
|
|
SUM("bricktracker_parts"."missing") AS total
|
|
|
|
FROM "bricktracker_parts"
|
|
|
|
WHERE "bricktracker_parts"."figure" IS NOT NULL
|
2025-01-17 11:03:00 +01:00
|
|
|
GROUP BY
|
2025-01-28 19:18:51 +01:00
|
|
|
"bricktracker_parts"."id",
|
|
|
|
"bricktracker_parts"."figure"
|
2025-01-31 15:29:32 +01:00
|
|
|
) "missing_join"
|
2025-01-28 19:18:51 +01:00
|
|
|
ON "bricktracker_minifigures"."id" IS NOT DISTINCT FROM "missing_join"."id"
|
|
|
|
AND "rebrickable_minifigures"."figure" IS NOT DISTINCT FROM "missing_join"."figure"
|
2025-01-17 11:03:00 +01:00
|
|
|
{% endblock %}
|
|
|
|
|
|
|
|
{% block group %}
|
|
|
|
GROUP BY
|
2025-01-27 18:39:35 +01:00
|
|
|
"rebrickable_minifigures"."figure"
|
2025-01-17 11:03:00 +01:00
|
|
|
{% endblock %}
|