pbs group bye

WRInaute discret
bonjour

je veux faire la selection de moi_debut,an_debut,mois_fin,an_fin à partir de la table date.

exemple: table: date:

moi_debut | an_debut | moi_fin| an_fin
--------------------------------------------
1 |2009 | 1 |2010
1 |2009 | 3 |2010
3 |2009 | 3 |2010


je vais utiliser une seule requette de selection qui retourne la resultat suivante :
resultat sous cette forme:

mois | ans
----------------------
1 |2009
1 |2010
3 |2009
3 |2010

j'utilise le group by mais ne fonctionne pas correctement
 
WRInaute passionné
A mon avis c'est parce que tu as un problème... comment veux tu récupérer ces données dans cet ordre avec un "Group By"...?

Quel champ tu utilises pour ton Group By...?

le mois? l'année? Dans les 2 cas, ça ne fonctionnera pas tout le temps!
Il faut la façon de faire (voir la structure de la base...?)

Peut être qu'il n'est pas possible de faire ce que tu veux en une seule requête également...!
 
WRInaute accro
Tu veux toutes les dates qui sont des dates de début ou de fin, c'est ça?

SELECT mois,annee FROM (SELECT moi_debut AS mois,an_debut AS annee FROM nomtable UNION SELECT moi_fin AS mois,an_fin AS annee FROM nomtable) s GROUP BY 1,2

Non?

Jacques.
 
WRInaute passionné
Jacques,

Le s avant le GROUP BY c'est une erreur de frappe ?

jcaron a dit:
Tu veux toutes les dates qui sont des dates de début ou de fin, c'est ça?

SELECT mois,annee FROM (SELECT moi_debut AS mois,an_debut AS annee FROM nomtable UNION SELECT moi_fin AS mois,an_fin AS annee FROM nomtable) s GROUP BY 1,2

Non?

Jacques.
 
WRInaute accro
Non, c'est le nom de la sous-requête. C'est obligatoire aussi bien avec Postgresql qu'avec mysql, au moins dans les versions que j'ai sous la main.

Jacques.
 
Discussions similaires
Haut