21 lines
613 B
SQL
21 lines
613 B
SQL
WITH saddle_names AS (
|
|
SELECT "index" AS id, "text" AS name
|
|
FROM text_data
|
|
WHERE category = 111
|
|
)
|
|
SELECT
|
|
s.id,
|
|
n.name,
|
|
ri1.id AS race1,
|
|
IFNULL(ri2.id, 0) AS race2,
|
|
IFNULL(ri3.id, 0) AS race3,
|
|
s.win_saddle_type,
|
|
MIN(s.id) OVER (PARTITION BY n.name) AS "primary",
|
|
ROW_NUMBER() OVER (PARTITION BY n.name ORDER BY s.id) - 1 AS "alternate"
|
|
FROM single_mode_wins_saddle s
|
|
JOIN race_instance ri1 ON s.race_instance_id_1 = ri1.id
|
|
LEFT JOIN race_instance ri2 ON s.race_instance_id_2 = ri2.id
|
|
LEFT JOIN race_instance ri3 ON s.race_instance_id_3 = ri3.id
|
|
LEFT JOIN saddle_names n ON s.id = n.id
|
|
ORDER BY s.id
|