Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#1 Tue 08 September 2009 12:36

fredericfridi
Participant actif
Date d'inscription: 2 Feb 2008
Messages: 97

Comparer une table et un liste excel

Bonjour

je vous joint un table parcelle et une liste excel.

je voudrais savoir comment proceder pour connaitre les parcelle qui ne sont pas presente dans la table
et connaitre les parcelles qui ne sont pas presente dans la liste

j ai trouvé 6 parcelles de la table qui  n etait pas dans la liste
mais je n arrive pas a trouver avec une requete deux parcelles qui sont dans laliste et pas dans la table

Dernière modification par fredericfridi (Tue 08 September 2009 15:14)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#2 Tue 08 September 2009 13:29

Spacejo
Membre
Lieu: Nancy
Date d'inscription: 17 Aug 2008
Messages: 2511

Re: Comparer une table et un liste excel

Salut,

Code:

Select * from liste_Parcelles_domagné, XDATA_PARCELLES where liste_Parcelles_domagné.id=XDATA_PARCELLES.id into PresenceDansles2Tables

--->Inverser la sélection pour tes 6 entités de XDATA non présentes dans liste_Parcelles
Enregistrer PresenceDansles2Tables en .tab
Puis: fermer la table XDATA_PARCELLES puis:

Code:

Select * from liste_Parcelles_domagné, PresenceDansles2Tables where liste_Parcelles_domagné.id=PresenceDansles2Tables.id into Presence

--->Inverser la sélection pour avoir les 2 entités qui apparaissent dans Liste et non dans Presence
A+
Joël

Hors ligne

 

#3 Tue 08 September 2009 14:06

fredericfridi
Participant actif
Date d'inscription: 2 Feb 2008
Messages: 97

Re: Comparer une table et un liste excel

Bonjour
je trouve bien les six. mais la deuxieme requete ne me donne rien
Vous avez fait  l' essaie et ca marche?
vous avez l'indentité des deux parcelles ?
merci

Hors ligne

 

#4 Tue 08 September 2009 14:13

Spacejo
Membre
Lieu: Nancy
Date d'inscription: 17 Aug 2008
Messages: 2511

Re: Comparer une table et un liste excel

Je viens d'essayer mais effectivement la 2ème requète ne me fait qu'une jointure entre les 2 tables.

Dernière modification par Spacejo (Tue 08 September 2009 14:13)

Hors ligne

 

#5 Wed 09 September 2009 07:49

fredericfridi
Participant actif
Date d'inscription: 2 Feb 2008
Messages: 97

Re: Comparer une table et un liste excel

Bonjour
Donc personne a la solution ????

Hors ligne

 

#6 Wed 09 September 2009 08:40

Loublande
Participant occasionnel
Date d'inscription: 29 Oct 2008
Messages: 38

Re: Comparer une table et un liste excel

Bonjour,

C'est un exemple quiu fonctionne pour moi :

Requete SQL pour differencier ce qui est présent dans un fichier Excel ouvert dans MapInfo mais ou il n'y a pas de lien avec la table MapInfo (dans l'exemple ci-dessous, l'id commun entre les 2 fichiers est "XX.numéro_du_dossier ")

DIA_2007 = export de DDC converti en Ecxel et ouvert dans MapInfo.
DIA_200_graphique = liaison entre la table DIA_2007 et le cadastre qui a été enregistrer sous forme de table.

Select * from DIA_2007 where DIA_2007.numéro_du_dossier not in (select DIA_2007_graphique.numéro_du_dossier from DIA_2007_graphique) into Resultat

Vous pouvez appliquer ceci pour votre deuxième demande.

Cordialement,

Hors ligne

 

#7 Mon 14 September 2009 20:48

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: Comparer une table et un liste excel

Bonjour
Déjà la table XDATA_PARCELLES (1082 enregistrements) a un problème: une superposition des polygones d'ID 0960000C0086 et 0960000C0087. Pas grave pour la suite, mais...
Une fois corrigé j'utilise la requête:

Code:

Select * from XDATA_PARCELLES where id = any (select id from liste_Parcelles_domagné)

puis j'inverse la sélection dans la table XDATA_PARCELLES pour obtenir 6 parcelles de la table qui ne sont pas dans la liste (qui a elle 1081 enregistrements)
A l'inverse, la requête:

Code:

Select * from liste_Parcelles_domagné where id = any (select id from XDATA_PARCELLES)

puis j'inverse la sélection dans la table liste_Parcelles_domagné pour obtenir 5 parcelles de la liste qui ne sont pas dans la table
nb: l'utilisation de <> au lieu de = ne marche pas...il faut passer par l'inversion de sélection

Hors ligne

 

#8 Tue 15 September 2009 14:13

fredericfridi
Participant actif
Date d'inscription: 2 Feb 2008
Messages: 97

Re: Comparer une table et un liste excel

Merci beaucoup

Maurice comment vous êtes vous aperçu de la superposition ?

Hors ligne

 

#9 Tue 15 September 2009 17:33

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: Comparer une table et un liste excel

Simple: il y a 1082 enregistrements dans la table et la requête

Code:

Select * from XDATA_PARCELLES Group By id

(que j'ai faite au début pour vérifier que id était bien un identifiant unique) donnait 1081 lignes.
Deux polygones portaient donc le même id et il s'est avéré que ces deux polygones étaient superposés.
Si l'objet est de rechercher dès le départ des chevauchements, on peut utiliser menu Objets->Vérification des régions avec l'option qui va bien...

Hors ligne

 

#10 Wed 16 September 2009 10:17

jean-francois Behm
Participant assidu
Lieu: Toulouse
Date d'inscription: 5 Sep 2005
Messages: 212
Site web

Re: Comparer une table et un liste excel

Bonjour,

Maurice a écrit:

... pour obtenir 5 parcelles de la liste qui ne sont pas dans la table
nb: l'utilisation de <> au lieu de = ne marche pas...il faut passer par l'inversion de sélection


Le not in fonctionne également (au lieu de =any et d'inverser la selection), je viens de vérifier.
Par contre je trouve 6 enregistrements pour le fichier excel !

Code:

Select * from XDATA_PARCELLES where id not in(select id from liste_Parcelles_domagné) into sel browse * from sel
Select * from liste_Parcelles_domagné where id not in(select id from XDATA_PARCELLES) into sel1 browse * from sel1

Dernière modification par jean-francois Behm (Wed 16 September 2009 10:36)


Jean-François Behm
SERVICES GEOGRAPHIQUES
Centres de formation SIG - http://servicesgeographiques.com

Hors ligne

 

#11 Wed 16 September 2009 11:55

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: Comparer une table et un liste excel

Bonjour
Merci de l'info pour l'utilisation de not in...
A tester: est-ce que ce not in marcherait sur un identifiant numérique ??
Cependant il est normal que vous ayez une parcelle de plus "dans la liste mais pas dans la table": c'est la 0960000C0086 car, comme je l'ai dit, elle ne figurait pas dans la table où deux parcelles se chevauchant avait le même id 0960000C0087 !
...et moi j'ai travaillé sur une table corrigée en supprimant le chevauchement et en créant la 0960000C0086 (conformément aux autres attributs) smile

Hors ligne

 

Pied de page des forums

Powered by FluxBB