Пытаюсь использовать несколько AS, но получаю: подзапрос возвращает более 1 строки - PullRequest
0 голосов
/ 08 апреля 2019

Я использую 3 таблицы из моей базы данных, которые я читаю данные для моей таблицы ранга (top15). Я пытаюсь заполнить один 'tr' только одним запросом (используя несколько псевдонимов), но я застрял здесь:

Моя последняя попытка была:

SELECT DISTINCT(mapname),
(SELECT his_time FROM primekz_records 
    WHERE primekz_records.id=$player_id AND his_aa = 10 AND tp > 0) AS nub10,
(SELECT his_time FROM primekz_records
    WHERE primekz_records.id=$player_id    AND his_aa = 10 AND tp = 0) AS pro10 
FROM primekz_records

JOIN primekz_players ON primekz_records.id=primekz_players.id 
JOIN primekz_maps ON primekz_maps.mid=primekz_records.mid 

WHERE primekz_players.id=$player_id

Таблицы структурированы:

primekz_players( id, steamid, name ...)
primekz_maps( mid, mapname )
primekz_records( id, mid, his_time, his_aa, tp, ... ) <-- this means one ID(player) can be max 4 times for one mid (map), variations are: his_aa (10/100), tp (0/more)

Если я пытаюсь использовать только один псевдоним, я получаю этот результат, что совершенно неверно (см. Столбец Noob100).

https://i.snag.gy/tHpUK8.jpg

Это как-то связано с ROW_NUMBER () + 4x AS?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...