我正在使用数据库中的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列)。
它与ROW_NUMBER()+ 4x AS有关吗?