Files
browser/plugins/examples/scum-server-plugin/sql/scum-db-v57/squads.sql
T

20 lines
816 B
SQL

SELECT
CAST(s.id AS TEXT) AS squadId,
COALESCE(s.name, '') AS name,
CAST(leader.user_profile_id AS TEXT) AS leaderProfileId,
CAST(leader_profile.prisoner_id AS TEXT) AS leaderPlayerId,
COUNT(member.id) AS memberCount,
s.score AS score,
s.member_limit AS memberLimit,
s.last_member_login_time AS lastMemberLoginTime,
s.last_member_logout_time AS lastMemberLogoutTime
FROM squad s
LEFT JOIN squad_member member ON member.squad_id = s.id
LEFT JOIN squad_member leader ON leader.squad_id = s.id AND leader.rank = 4
LEFT JOIN user_profile leader_profile ON leader_profile.id = leader.user_profile_id
WHERE (:squadId IS NULL OR CAST(s.id AS TEXT) = :squadId)
AND (:search IS NULL OR COALESCE(s.name, '') LIKE '%' || :search || '%')
GROUP BY s.id
ORDER BY s.score DESC, s.id
LIMIT COALESCE(:limit, 500)