我有一个带有下表的 sqlite 数据库:
CREATE TABLE games (name text, date text, winloss int, gameid int, pointsfor int, pointsagainst int);
两个示例记录如下所示:
Anna A, 7/12/13, 0, 345, 56, 28
Barley B, 7/12/13, 1, 345, 28, 56
(Barley 的球队输了,Anna 的球队赢了。每场比赛每队都有几名球员。)我想创建一个查询,该查询将返回一个队中有 x 名球员和另一队有 y 名球员的所有比赛,加上这些球员的累积结果游戏。
我知道如何使用 perl 和 csv 文件来做到这一点,并且我相信我可以对 dbi 接口使用相同的方法。但是,我想了解如何仅使用 SQL 查询来创建此报告。我是 SQL 新手,我怀疑解决方案可能涉及使用 CASE WHEN 或 JOIN 旋转表来创建新表;但我不知道该怎么做。
此查询将返回玩家在同一支球队中并赢得(或输掉,取决于 winloss 的值)的所有比赛:
select gameid,date from games
where name in ('Anna A', 'Barley B') and winloss=1
group by gameid
having count(*)>1;
但我不知道如何概括该查询以返回与另一支球队的球员的比赛。