limit-users-to-proper-roles #156
@ -66,7 +66,9 @@ SELECT CAST(SUM(l.distance_in_km) AS INTEGER) AS rowed_km
|
|||||||
FROM user u
|
FROM user u
|
||||||
INNER JOIN rower r ON u.id = r.rower_id
|
INNER JOIN rower r ON u.id = r.rower_id
|
||||||
INNER JOIN logbook l ON r.logbook_id = l.id
|
INNER JOIN logbook l ON r.logbook_id = l.id
|
||||||
WHERE u.is_guest = 1 AND l.distance_in_km IS NOT NULL AND l.arrival LIKE '{year}-%';
|
INNER JOIN user_role ur ON u.id = ur.user_id
|
||||||
|
INNER JOIN role ro ON ur.role_id = ro.id
|
||||||
|
WHERE ro.name = 'scheckbuch' AND l.distance_in_km IS NOT NULL AND l.arrival LIKE '{year}-%';
|
||||||
"
|
"
|
||||||
))
|
))
|
||||||
.fetch_one(db)
|
.fetch_one(db)
|
||||||
@ -89,10 +91,17 @@ WHERE u.is_guest = 1 AND l.distance_in_km IS NOT NULL AND l.arrival LIKE '{year}
|
|||||||
sqlx::query(&format!(
|
sqlx::query(&format!(
|
||||||
"
|
"
|
||||||
SELECT u.name, CAST(SUM(l.distance_in_km) AS INTEGER) AS rowed_km
|
SELECT u.name, CAST(SUM(l.distance_in_km) AS INTEGER) AS rowed_km
|
||||||
FROM user u
|
FROM (
|
||||||
|
SELECT * FROM user
|
||||||
|
WHERE id NOT IN (
|
||||||
|
SELECT user_id FROM user_role
|
||||||
|
JOIN role ON user_role.role_id = role.id
|
||||||
|
WHERE role.name = 'scheckbuch'
|
||||||
|
)
|
||||||
|
) u
|
||||||
INNER JOIN rower r ON u.id = r.rower_id
|
INNER JOIN rower r ON u.id = r.rower_id
|
||||||
INNER JOIN logbook l ON r.logbook_id = l.id
|
INNER JOIN logbook l ON r.logbook_id = l.id
|
||||||
WHERE u.is_guest = 0 AND l.distance_in_km IS NOT NULL AND l.arrival LIKE '{year}-%'
|
WHERE l.distance_in_km IS NOT NULL AND l.arrival LIKE '{year}-%'
|
||||||
GROUP BY u.name
|
GROUP BY u.name
|
||||||
ORDER BY rowed_km DESC;
|
ORDER BY rowed_km DESC;
|
||||||
"
|
"
|
||||||
|
Loading…
Reference in New Issue
Block a user