Update 004_MoveOldFlagsToFlagsTable.sql

This commit is contained in:
Dawid Bepierszcz
2024-04-27 13:29:56 +02:00
committed by GitHub
parent b45e112534
commit 806b5038ca

View File

@@ -9,15 +9,15 @@ SELECT
min_admins.admin_id, min_admins.admin_id,
TRIM(SUBSTRING_INDEX(SUBSTRING_INDEX(sa_admins.flags, ',', numbers.n), ',', -1)) AS flag TRIM(SUBSTRING_INDEX(SUBSTRING_INDEX(sa_admins.flags, ',', numbers.n), ',', -1)) AS flag
FROM numbers FROM numbers
JOIN ( INNER JOIN (
SELECT MIN(id) AS admin_id, player_steamid, server_id SELECT MIN(id) AS admin_id, player_steamid, server_id
FROM sa_admins FROM sa_admins
WHERE player_steamid != 'Console' WHERE player_steamid != 'Console'
GROUP BY player_steamid, server_id GROUP BY player_steamid, server_id
) AS min_admins ON 1=1 ) AS min_admins ON 1=1
JOIN sa_admins ON CHAR_LENGTH(sa_admins.flags) - CHAR_LENGTH(REPLACE(sa_admins.flags, ',', '')) >= numbers.n - 1 INNER JOIN sa_admins ON CHAR_LENGTH(sa_admins.flags) - CHAR_LENGTH(REPLACE(sa_admins.flags, ',', '')) >= numbers.n - 1
AND min_admins.player_steamid = sa_admins.player_steamid AND min_admins.player_steamid = sa_admins.player_steamid
AND (min_admins.server_id = sa_admins.server_id OR (min_admins.server_id IS NULL AND sa_admins.server_id IS NULL)) AND (min_admins.server_id = sa_admins.server_id OR (min_admins.server_id IS NULL AND sa_admins.server_id IS NULL))
UNION UNION
@@ -25,6 +25,9 @@ SELECT
(SELECT MAX(id) + 1 FROM sa_admins WHERE server_id IS NULL) AS admin_id, (SELECT MAX(id) + 1 FROM sa_admins WHERE server_id IS NULL) AS admin_id,
TRIM(SUBSTRING_INDEX(SUBSTRING_INDEX(sa_admins.flags, ',', numbers.n), ',', -1)) AS flag TRIM(SUBSTRING_INDEX(SUBSTRING_INDEX(sa_admins.flags, ',', numbers.n), ',', -1)) AS flag
FROM numbers FROM numbers
JOIN sa_admins ON CHAR_LENGTH(sa_admins.flags) - CHAR_LENGTH(REPLACE(sa_admins.flags, ',', '')) >= numbers.n - 1 INNER JOIN sa_admins ON CHAR_LENGTH(sa_admins.flags) - CHAR_LENGTH(REPLACE(sa_admins.flags, ',', '')) >= numbers.n - 1
AND sa_admins.server_id IS NULL AND sa_admins.server_id IS NULL
WHERE sa_admins.player_steamid != 'Console'; WHERE sa_admins.player_steamid != 'Console'
AND EXISTS (
SELECT 1 FROM sa_admins WHERE id = (SELECT MAX(id) + 1 FROM sa_admins WHERE server_id IS NULL)
);