このリクエストを何時間も修正しようとしましたが、うまくいきませんでした。
SELECT ((
SELECT DISTINCT *
FROM (
SELECT REPLACE(source_name, "+", "") AS name
FROM events
WHERE source_name!=""
UNION
SELECT REPLACE(target_name, "+", "") AS name
FROM events
WHERE target_name!=""
)
) AS player_name,
(
SELECT COUNT(*)
FROM events
WHERE source_name=player_name AND event_name="beforePlayerBan"
) as nbr_bans,
(
SELECT COUNT(*)
FROM events
WHERE source_name=player_name AND event_name="beforePlayerKick"
) as nbr_kicks,
(
SELECT COUNT(*)
FROM events
WHERE
(source_name=player_name OR target_name=player_name)
AND event_name="afterBattleStarted"
) as nbr_battles,
(
SELECT COUNT(*)
FROM events
WHERE source_name=player_name AND result=0
) as nbr_wins,
(
SELECT COUNT(*)
FROM events
WHERE target_name=player_name AND result=0
) as nbr_defeats,
(
SELECT COUNT(*)
FROM events
WHERE (source_name=player_name OR target_name=player_name) AND result=1
) as nbr_ties,
(
SELECT COUNT(*)
FROM events
WHERE (source_name=player_name OR target_name=player_name) AND result=2
) as nbr_forfeits
エラーは SQLSTATE[42000]: Syntax error or access violation: 1248 です。すべてのテーブルに独自のエイリアスを指定したため、すべての派生テーブルには独自のエイリアスが必要です