Comme indiqué dans le titre, je veux sélectionner le nombre d'événements par équipe et par an. L'instruction select ci-dessous fonctionne bien mais ne me donne pas exactement ce que je cherche.Oracle SELECT: nombre d'événements par équipe et par an
SELECT
Team.team_id,
TO_CHAR(Event.START_DATE_TIME, 'yyyy') AS year,
count(event_id) AS events
FROM
Team
LEFT OUTER JOIN
Event ON Event.team_id = Team.team_id
GROUP BY
TO_CHAR(Event.START_DATE_TIME, 'yyyy'),
team_id
ORDER BY
year ASC,
team_id ASC
;
Avec cela, si nous avons:
Team 1 : 1 event in 2006
Team 2 : 1 event in 2007
Nous obtenons:
ID | Year | Events
------------------
1 | 2006 | 1
2 | 2007 | 1
et je voudrais obtenir:
ID | Year | Events
-------------------
1 | 2006 | 1
2 | 2006 | 0
1 | 2007 | 0
2 | 2007 | 1
Je ne sais pas comment modifier ma demande pour le faire.
L'OP veut voir les années pour lesquelles il n'y a aucun événement, donc vous ne pouvez pas compter sur la table 'EVENT'. –
D'où le dernier commentaire. Il n'a pas dit ça, et il se peut aussi qu'il y ait toujours au moins un événement pour les années qu'il veut voir (je n'ai aucun moyen de le savoir :)). – andrem