我有一个具有以下架构的数据库:
ID PositionId LeagueId 1 4 5 3 4 5 3 8 5 4 1 6
我在 Access 中有这个 sql 查询:
SELECT lp.PositionId
FROM Leagues l
INNER JOIN Lineups lp ON (l.LeagueID = lp.LeagueId)
GROUP BY PositionId
HAVING sum(iif(lp.PositionId = 4,1,0)) > 1 AND sum(iif(lp.PositionId = 8,1,0)) > 0
如果我只使用 Have 的左侧,即:
HAVING sum(iif(lp.PositionId = 4,1,0)) > 1
我会得到 1 个结果(LeagueId 5)。如果我使用拥有的右侧,即:
HAVING sum(iif(lp.PositionId = 8,1,0)) > 0
我也会得到一个结果(LeagueId 5),但两者一起(如上)不会产生任何结果。