16 lines
710 B
SQL
16 lines
710 B
SQL
SELECT
|
|
CAST(member.squad_id AS TEXT) AS squadId,
|
|
CAST(member.user_profile_id AS TEXT) AS userProfileId,
|
|
CAST(profile.prisoner_id AS TEXT) AS gamePlayerId,
|
|
user.id AS steamId,
|
|
COALESCE(profile.name, user.name, '') AS displayName,
|
|
CAST(member.rank AS TEXT) AS rank,
|
|
CASE WHEN member.rank = 4 THEN 1 ELSE 0 END AS isLeader
|
|
FROM squad_member member
|
|
JOIN user_profile profile ON profile.id = member.user_profile_id
|
|
LEFT JOIN user ON user.id = profile.user_id
|
|
WHERE (:squadId IS NULL OR CAST(member.squad_id AS TEXT) = :squadId)
|
|
AND (:userProfileId IS NULL OR CAST(member.user_profile_id AS TEXT) = :userProfileId)
|
|
ORDER BY member.squad_id, member.rank DESC, profile.name
|
|
LIMIT COALESCE(:limit, 500)
|