次のスキーマを持つデータベースがあります。
ID ポジションID リーグID 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
1 つの結果 (LeagueId 5) も取得しますが、(上記のように) 両方を一緒に使用しても結果は得られません。