je la l'instruction SQL suivante:Count clause SQL where
SELECT [l.LeagueId] AS LeagueId, [l.LeagueName] AS NAME, [lp.PositionId]
FROM (Leagues l INNER JOIN
Lineups lp ON l.LeagueId = lp.LeagueId)
WHERE (lp.PositionId = 1) OR
(lp.PositionId = 3) OR
(lp.PositionId = 2)
Ce que je vraiment besoin est d'obtenir les lignes où le compte de la position est supérieure à un certain nombre. Quelque chose comme:
SELECT [l.LeagueId] AS LeagueId, [l.LeagueName] AS NAME, [lp.PositionId]
FROM (Leagues l INNER JOIN
Lineups lp ON l.LeagueId = lp.LeagueId)
WHERE Count(lp.PositionId = 1) > 2 OR
Count(lp.PositionId = 3) > 6 OR
Count(lp.PositionId = 2) > 3
Y at-il un moyen de le faire en SQL?
Alors, j'utilise la solution de Cade Roux ci-dessous, mais personne ne sait pourquoi, quand Je change le HAVING d'une déclaration OR à ET déclaration, je reçois zéro résultat? Si je n'utilise qu'une instruction SUM (CASE ..), j'obtiens des résultats, mais si je combine deux instructions qui ont fonctionné, je n'ai aucun résultat. –