我正在尝试设置一个SQL数据库来记录游戏中发生的3人阵容。我现在的结构是:
playerID playerName
lineupID
lineupID(外键) playerID(外键)
我想找一个快速的方法来检查一组特定的3名球员是否已经成为阵容的一部分。假设我想找到一个有玩家A,B,C的阵容,我能想到的解决方案是这样的:
SELECT t1.lineupID
FROM (SELECT lineupID FROM Lineup_players WHERE playerID=A) t1
INNER JOIN (SELECT lineupID FROM Lineup_players WHERE playerID=B) t2 ON t1.lineupID = t2.lineupID
INNER JOIN (SELECT lineupID FROM Lineup_players WHERE playerID=C) t3 ON t1.lineupID = t3.lineupID
我觉得这是一个笨拙的解决方案。使用相同的表是否有更快的查询,还是有更好的方法来存储数据?
另外,如果我的阵容中有A,B,C,D,E球员,那么在没有检查所有20种组合的情况下,有没有快速的方法可以找到所有3个这些球员的阵容?
答案 0 :(得分:0)
也许你看起来像这样?
<script>
function get_option()
{
var time_zone = document.getElementbyId("time_set");
if (time_zone == "Server")
time_zone = "UTC";
if (time_zone == "Device")
time_zone = @Model.timeZoneId;
var time_to_disp = @WebApp.Utils.TimeHelper.GetDateTimeByZone(time_zone);
document.getElementById("time_on_page") = "Current time (" + time_zone + "): " + time_to_disp;
}
</script>
这将列出包含3个或更多列出的ID的阵容。