#1 Tue 11 March 2014 21:33
- Marie121
- Juste Inscrit !
- Date d'inscription: 11 Mar 2014
- Messages: 8
ArcGIS 10.1 - Requête SQL
Bonjour, je suis nouvelle sur le forum.
J'utilise ArcGIS 10.1.
J'ai un problème sur les requêtes
J'ai une table attributaire avec plusieurs colonnes : Nom point, substance, concentration
Je cherche à afficher le maximum de la concentration pour une ou des substances choisies
Mais je ne peux pas faire de sélect Max avec le SQL arcgis ?
Avez vous une solution ?
Merci pour toute aide
Hors ligne
#2 Wed 12 March 2014 09:52
- Pierre Vernier
- Participant actif
- Lieu: UK
- Date d'inscription: 15 Jun 2006
- Messages: 116
- Site web
Re: ArcGIS 10.1 - Requête SQL
Hola,
Tu peux le faire rapidement de manière manuelle. Dans ta table, fais clic-droit sur le nom de la colonne sur laquelle tu veux obtenir le max, puis "Sort Descending". La première ligne sera celle qui contient le max.
Pierre
Hors ligne
#3 Wed 12 March 2014 10:22
Re: ArcGIS 10.1 - Requête SQL
Bonjour,
L'Analyse statistique dans arcgis http://resources.arcgis.com/fr/help/mai … 0006000000
Martin
Hors ligne
#4 Wed 12 March 2014 14:57
- Marie121
- Juste Inscrit !
- Date d'inscription: 11 Mar 2014
- Messages: 8
Re: ArcGIS 10.1 - Requête SQL
Je vous remercie pour ces réponses mais en fait avant de sélectionner le max de mes concentrations je fais plusieurs requêtes.
en fait je sélectionne plusieurs substances et ce sont des sondages donc je sélectionne aussi différentes profondeurs.
Pour arriver à mon résultat je dois faire une requête de ma sous requête.
N'est il pas possible de faire vraiment du sql ou autres?
Merci
Hors ligne
#5 Wed 12 March 2014 18:26
Re: ArcGIS 10.1 - Requête SQL
A voir :
HowTo: Select minimum and maximum values in the Select By Attributes dialog box http://support.esri.com/en/knowledgebas … tail/31843
Hors ligne
#6 Wed 12 March 2014 18:42
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: ArcGIS 10.1 - Requête SQL
Salut,
Si tu ne trouves pas sur Arcgis.
Une alternative --> Voir Qgis (libre) travailles avec du .shp et avec ce pluggin, tu peux vraiment travailler avec du SQL
--> http://code.google.com/p/qspatialite/
Pour Qgis -> http://www.qgis.org/fr/site/
Ce logiciel peux aussi travailler en portable
A+
Joël
Hors ligne
#7 Wed 12 March 2014 18:58
Re: ArcGIS 10.1 - Requête SQL
Bonjour,
Ta table est dans quel format ?
Il est possible de faire des sous-requêtes que pour certains formats :
Les couvertures, les fichiers de formes et les autres sources de données fichier ne figurant pas dans une géodatabase ne prennent pas en charge les sous-requêtes. Les sous-requêtes qui sont effectuées sur des tables et des classes d'entités ArcSDE versionnées ne renvoient pas les entités qui sont stockées dans les tables de deltas. Les géodatabases fichier fournissent une prise en charge limitée des sous-requêtes, décrite dans cette section, alors que les géodatabases personnelles et ArcSDE fournissent une prise en charge totale des sous-requêtes. Pour plus d'informations sur le jeu complet de fonctionnalités de sous-requête des géodatabases personnelles et ArcSDE, reportez-vous à la documentation de votre SGBD.
Cf. la documentation Référence SQL pour les expressions de requête utilisées dans ArcGIS
Il y a des exemples de sous-requêtes...
A+
Franck
Hors ligne
#8 Wed 12 March 2014 19:31
- Marie121
- Juste Inscrit !
- Date d'inscription: 11 Mar 2014
- Messages: 8
Re: ArcGIS 10.1 - Requête SQL
J'ai essayé avec le lien que m'a envoyé Franck mais ça ne marche pas.
Mon fichier est un excel.
Je pense que mon pb est la clause where dans la requête SQL
Hors ligne
#9 Thu 13 March 2014 08:22
Re: ArcGIS 10.1 - Requête SQL
Bonjour,
J'ai essayé avec le lien que m'a envoyé Franck mais ça ne marche pas.
Mon fichier est un excel.
Pour que pouvoir utiliser des fonctions SQL "avancée", il est nécessaire de charger ses données dans une geodatabase.
Cela ne fonctionne pas avec Excel... cf. la documentation citée ci-dessus.
A+
Franck
Hors ligne
#10 Thu 13 March 2014 10:11
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: ArcGIS 10.1 - Requête SQL
Salut,
Tu peux aussi travailler avec Sqlite (en partant de ton fichier Excel).
A+
Joël
Hors ligne
#11 Sat 15 March 2014 09:20
- Marie121
- Juste Inscrit !
- Date d'inscription: 11 Mar 2014
- Messages: 8
Re: ArcGIS 10.1 - Requête SQL
Bonjour,
si je crée une géodatabase comme tu dis Franck, mes requêtes seront à faire sur arcGis?
Car en fait je voudrais tout faire sur arcgis et non des requêtes sur access ou autres?
merci
Hors ligne
#13 Sat 15 March 2014 10:12
- Marie121
- Juste Inscrit !
- Date d'inscription: 11 Mar 2014
- Messages: 8
Re: ArcGIS 10.1 - Requête SQL
je n'arrive toujours pas à effectuer la requête avec select max car je suis toujours bloquée avec la clause where.
Car je dois faire des sous requêtes dans ma requête.
Merci
Hors ligne
#14 Sat 15 March 2014 10:14
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: ArcGIS 10.1 - Requête SQL
Un exemple de requête nous aiderait peut être, non?
Hors ligne
#15 Sat 15 March 2014 12:05
- Marie121
- Juste Inscrit !
- Date d'inscription: 11 Mar 2014
- Messages: 8
Re: ArcGIS 10.1 - Requête SQL
Code:
select max (conc) from TABLE_1 where (subs IN (A,B)
dans cette requête j'ai ma table 1 avec une colonne conc et une colonne subs
je vous mets la requête la plus simple car je veux en faire une plus compliquée mais celle ci ne marche déjà pas.
merci
Hors ligne
#16 Sat 15 March 2014 12:20
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: ArcGIS 10.1 - Requête SQL
select max (conc) from TABLE_1 where (subs IN (A,B)
Comme ceci peut être si tu interviens sur une géodatabase:
select max (conc) from TABLE_1 where [subs] IN ('A','B')
ou
select max (conc) from TABLE_1 where [subs] like 'A' or [subs] like 'B'
Si tu interviens sur un .shp --> [subs] -> devient -> "subs"
A+
Joël
Dernière modification par Spacejo (Sat 15 March 2014 12:58)
Hors ligne
#17 Sat 15 March 2014 17:10
Re: ArcGIS 10.1 - Requête SQL
Bonjour,
Tu est bien entrai d'essayer de faire une requête soit dans outil Sélectionner selon les attributs ou de la boîte de dialogue Générateur de requêtes pour définir un ensemble de définition de couche ?
Que te dis le vérificateur de syntaxe dans la fenêtre ?
Il faut faire attention car la fenêtre Sélectionner selon les attributs, on écrit que la clause where....
Le début de la requête SQL est déjà écrite.
Par exemple dans mon cas :
Code:
SELECT * FROM cl06_interface_communes_recap WHERE
Si je mets ce code dans la clause where :
Code:
FREQUENCY = (SELECT MAX( FREQUENCY ) FROM ccl06_interface_communes_recap WHERE INSEE_COM IN ( '06001', '06005') ) AND INSEE_COM IN ( '06001', '06005')
J'ai l'impression que c'est proche de ce que tu cherches à faire ?
A+
Franck
PS : je suis dans une géodatabase fichier.
PSS : ce n'est pas terrible... on est loin d'un bon vieux SQL Plus
Hors ligne
#18 Sat 15 March 2014 19:34
- Marie121
- Juste Inscrit !
- Date d'inscription: 11 Mar 2014
- Messages: 8
Re: ArcGIS 10.1 - Requête SQL
Pour faire mes requêtes je vais dans propriété de la couche et ensuite onglet requête
Je vais essayer d'écrire ma requête comme tu as fait Franck
Autrement je peux la faire ou ma requête
Merci à tous
Hors ligne
#19 Mon 17 March 2014 20:10
- Marie121
- Juste Inscrit !
- Date d'inscription: 11 Mar 2014
- Messages: 8
Re: ArcGIS 10.1 - Requête SQL
J'ai essayé ta requête et elle marche mais par contre je ne comprends pourquoi a la fin de la requête il faut refaire un AND?
Merci
Hors ligne
#20 Tue 18 March 2014 08:22
Re: ArcGIS 10.1 - Requête SQL
Bonjour,
Cette partie permet de trouver le max des communes 06001 et 06005
Code:
(SELECT MAX( FREQUENCY ) FROM ccl06_interface_communes_recap WHERE INSEE_COM IN ( '06001', '06005'))
Si on fait seulement ensuite FREQUENCY = LeMax, la requête met un évidence tous les enregistrements avec ce max sur toutes les communes.
Or tu veux mettre en évidence les enregistrements avec le max pour un ensemble précis de commune (substances dans ton cas), on est donc obligé de remettre l'ensemble dans un AND.
A+
Franck
Hors ligne