Bonjour,

J'ai une table qui contient un champ venue (int) et un autre champ séjour (int) qui sont liés par le fait que un séjour est rattaché à une venue.
Je voudrais calculer un 3ème champ qui contiendrait le max des numéros séjour pour une venue.

Pour calculer une aggrégation ( max() en l'occurrence), il faut que le champ soit spécifié dans le group by à priori.

Don ce que je fais là ne marche pas:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
SELECT     Venue,Sejour,MAX(Sejour)
FROM       MaTable
GROUP BY   Venue
La colonne 'Sejour' n'est pas valide dans la liste de sélection parce qu'elle n'est pas contenue dans une fonction d'agrégation ou dans la clause GROUP BY.
si je fais ça , cela marche mais ne sert a rien:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
SELECT     Venue,Sejour, MAX(Sejour)
FROM       MaTable
GROUP BY   Venue,Sejour
Voilà tout mon problème.

Matable :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
CREATE TABLE MaTable
(Venue INTEGER,
 Sejour INTEGER)


Merci de votre aide.


PS: le fait que la table soit dénormalisée est voulu