我有两个定义游戏细节的表格:一个包含游戏的表格和一个包含移动的表格。
我知道轮到谁了
SELECT (COUNT(idx) %2) FROM history WHERE gameID=x
结果 = 1 为白色,结果 = 0 为黑色。
现在我想选择一个特定系列的游戏,这是我的举动。
不知道我在游戏中是白人还是黑人。
所以现在我对游戏使用另一个查询:
SELECT g.gameID
FROM games AS g
WHERE (g.whitePlayer = 2 or (g.blackPlayer = 2)
然后我用gameID来看看是不是我的动作。如果没有,那我就跳过那场比赛。
我想将这两者结合起来,我尝试制作一个聚合子集但由于COUNT()
例如,这不起作用并且不返回任何内容:
SELECT *
FROM games as g
WHERE (g.whitePlayer = 2)
AND gameID IN (SELECT gameID
FROM history as h
HAVING (COUNT(h.idx) %2) = 1)
或者
SELECT COUNT(h.idx)
FROM history as h
INNER JOIN
(SELECT gameID
FROM games
WHERE (whitePlayer = 2)) As thesegames ON h.gameID = thesegames.gameID
HAVING (COUNT(h.idx) %2) = 1
有人知道如何解决这个问题吗?