#1 Sun 06 December 2009 00:06
- apprenti
- Juste Inscrit !
- Date d'inscription: 5 Dec 2009
- Messages: 5
selection valeur max
Bonjour
Voila j'ai une table attributaire POLY construite comme cela :
ID_Polygone /Code vegetation/ Recouvrement %
1 / CU / 10
1 / FR / 85
1 / FO / 5
2 / RC / 2
2 / FR / 20
2 / CU / 78
.....
Donc pour un polygone j'ai plusieurs codes de vegetation et je veux selectionner que le % max et le code_Veg pour chaque poly .
J'ai une selection SQL du type :
Select: ID_Poly , Code_Veg , max (Pourcentage)
From : Table Poly
Where: Rien
Group by: Id_Poly
Cela fonctionne, j'obtiens bien le Max pour chaque polygone malheuresement la corespondance avec le code_Veg n'est pas correct:
ID_Polygone /Code vegetation/ Recouvrement %
1 / CU / 85 ( normalement FR)
2 / RC / 78 ( normalement CU)
Il prend en compte le 1er code et non pas le code correspondant au taux Max de recouvrement!! j'espere etre assez clair?
Donc que faudrait-il changer dans ma selection SQL pour obtenir le bon code_Veg
En vous remerciant
Hors ligne
#2 Sun 06 December 2009 01:04
- Damien BEAUSEIGNEUR
- Participant assidu
- Lieu: meyzieu
- Date d'inscription: 5 Sep 2005
- Messages: 425
Re: selection valeur max
bonsoir
Le mieux est de la faire en deux fois.
Select: ID_Poly , max (Pourcentage) as max_pourcent
From : Table Poly
Where: Rien
Group by: Id_Poly
dans une table Max par exemple
ensuite
select Poly.ID_poly, Code_Veg , pourcentage
from table Poly, Max
Where Poly.ID_poly = Max.ID_poly and Poly.pourcentage = max.max_pourcent
cela fonctionnera tant qu'il n'y a pas 2 couvertures majoritaires identiques sur le même polygone.
Dans ce cas on aura 2 enregistrements...
Je n'ai pas mieux.
Hors ligne
#3 Sun 06 December 2009 14:40
- apprenti
- Juste Inscrit !
- Date d'inscription: 5 Dec 2009
- Messages: 5
Re: selection valeur max
Je te remercie beaucoup cela fonctionne
mais je voudrais savoir si je peux directement selectionner les lignes de ma table principale POLY , ou selectionner dans ma table de principale POLY, les lignes de ma nouvelle selection? et encore merci .
Hors ligne