У меня есть база данных со следующей схемой:
ID PositionId LeagueId
1 4 5
3 4 5
3 8 5
4 1 6
У меня есть этот sql-запрос в Access:
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
Если я использую только левую сторону Имеющего, т.е.:
HAVING sum(iif(lp.PositionId = 4,1,0)) > 1
Я получу 1 результат (LeagueId 5).Если я использую правую сторону Имеющего, то есть:
HAVING sum(iif(lp.PositionId = 8,1,0)) > 0
, я также получу один результат (LeagueId 5), но оба вместе (как выше) не дают результатов.