尝试使用多个AS,但我得到了:子查询返回多于1行

时间:2019-04-08 16:41:30

标签: mysql sql

我正在使用数据库中的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有关吗?

0 个答案:

没有答案