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é ?

Annonce

GEODATA DAYS 2024

#1 Tue 30 June 2009 12:01

qian
Participant occasionnel
Date d'inscription: 17 Feb 2009
Messages: 11

On peut faire une selection SQL avec plus de 2 tables?

On peut faire une selection SQL avec plus de 2 tables?
Merci:)

Dernière modification par qian (Tue 30 June 2009 12:01)

Hors ligne

 

#2 Tue 30 June 2009 12:27

hanczyk
Participant assidu
Lieu: Châlons-en-Champagne
Date d'inscription: 21 Apr 2006
Messages: 596

Re: On peut faire une selection SQL avec plus de 2 tables?

oui

jmh


Jean-Marc Hanczyk

Hors ligne

 

#3 Tue 30 June 2009 12:27

Just-Soft
Participant actif
Lieu: Chlef, Algérie
Date d'inscription: 10 Jun 2009
Messages: 76

Re: On peut faire une selection SQL avec plus de 2 tables?

je dirais oui mais ....

si tu es coincé fais nous part de ton problème mais comme ça vaguement tout est possible.


Bon courage ou Bonne Chance (selon le contexte)

Hors ligne

 

#4 Tue 30 June 2009 13:31

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

Re: On peut faire une selection SQL avec plus de 2 tables?

Bonjour,
je dirais plutôt non !
Vous risquez de ne pas trouver de relation entre toutes vos tables, ce que MapInfo demande. A moins que les dernières versions se soient améliorées.

Cordialement,


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

Hors ligne

 

#5 Tue 30 June 2009 13:35

Just-Soft
Participant actif
Lieu: Chlef, Algérie
Date d'inscription: 10 Jun 2009
Messages: 76

Re: On peut faire une selection SQL avec plus de 2 tables?

voilà à quoi je pense moi, une relation géographique entre deux tables et une sous sélection à partir d'une autre table, et ça c'est possible. donc plus de deux tables oui c'est très possible.


Bon courage ou Bonne Chance (selon le contexte)

Hors ligne

 

#6 Tue 30 June 2009 14:33

qian
Participant occasionnel
Date d'inscription: 17 Feb 2009
Messages: 11

Re: On peut faire une selection SQL avec plus de 2 tables?

voilà ma SQL: j'ai 4 tables de magasin: MA, MB MC, MD,
                           et 1 table des communes: COM(avec 36 communes dedans) .

                       Je voudrais touvouer les communes qui ont des magasins(n'import quel magazin).

J'arrive pas, je suis coincée!!!
Merci à l'avance

Hors ligne

 

#7 Tue 30 June 2009 14:40

qian
Participant occasionnel
Date d'inscription: 17 Feb 2009
Messages: 11

Re: On peut faire une selection SQL avec plus de 2 tables?

Just-Soft a écrit:

je dirais oui mais ....

si tu es coincé fais nous part de ton problème mais comme ça vaguement tout est possible.


voilà ma SQL: j'ai 4 tables de magasin: MA, MB MC, MD,
                           et 1 table des communes: COM(avec 36 communes dedans) .

                       Je voudrais touvouer les communes qui ont des magasins(n'import quel magazin).

J'arrive pas, je suis coincée!!!
Merci à l'avance

Hors ligne

 

#8 Tue 30 June 2009 14:40

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

Re: On peut faire une selection SQL avec plus de 2 tables?

Salut,

Code:

Select * from MA,MB,MC,MD,COM where COM.obj contains MA.obj or COM.obj contains MB.obj or COM.obj contains MC.obj or COM.obj contains MD.obj into MAGASINS

Requète à placer directement dans la FMB
FMB ---> Fenêtre MapBasic  ---> Options ---> Voir Fenêtre Mapbasic
A+
Joël

Dernière modification par Spacejo (Tue 30 June 2009 15:03)

Hors ligne

 

#9 Tue 30 June 2009 15:02

qian
Participant occasionnel
Date d'inscription: 17 Feb 2009
Messages: 11

Re: On peut faire une selection SQL avec plus de 2 tables?

Spacejo a écrit:

Salut,

Code:

Select * from MA,MB,MC,MD,COM where COM.obj contains MA.obj or COM.obj contains MB.obj or COM.obj contains MC.obj or COM.obj contains MD.obj into MAGASINS

Requète à placer directement dans la FMB
A+
Joël


Merci, j'ai essayé plusieur fois avec d'bord que 3 tables (COM, MA, et MB).

mais il me dit "Aucune jointure n'est spécifiée entre les tables COM et MA. Condition de jointure erronée dans la clause Critères (Where)."

sad

Hors ligne

 

#10 Tue 30 June 2009 15:05

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

Re: On peut faire une selection SQL avec plus de 2 tables?

Les tables MA,MB,MC,MD sont des tables de points?
COM est une table de polygones?
A+
Joël

Hors ligne

 

#11 Tue 30 June 2009 15:09

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

Re: On peut faire une selection SQL avec plus de 2 tables?

Essaye avec la table COM et une table de points (MA,MB,MC,MD)

Hors ligne

 

#12 Tue 30 June 2009 15:11

qian
Participant occasionnel
Date d'inscription: 17 Feb 2009
Messages: 11

Re: On peut faire une selection SQL avec plus de 2 tables?

Spacejo a écrit:

Les tables MA,MB,MC,MD sont des tables de points?
COM est une table de polygones?
A+
Joël


oui exactly

Hors ligne

 

#13 Tue 30 June 2009 15:12

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

Re: On peut faire une selection SQL avec plus de 2 tables?

qian a écrit:

voilà ma SQL: j'ai 4 tables de magasin: MA, MB MC, MD,
                           et 1 table des communes: COM(avec 36 communes dedans) .

                       Je voudrais touvouer les communes qui ont des magasins(n'import quel magazin).

J'arrive pas, je suis coincée!!!
Merci à l'avance


Il faut, je pense, faire 2 requêtes avec MA et MB puis MC et MD :

Code:

SELECT nom_com FROM communes, MA 
             WHERE code_insee in(SELECT code_insee FROM communes, MB 
                                                 WHERE MB.obj within communes.obj)
                 [b]OR [/b] MA.obj within communes.obj
            INTO communes_MA_MB


SELECT nom_com FROM communes, MC 
             WHERE code_insee in(SELECT code_insee FROM communes, MD
                                                 WHERE MD.obj within communes.obj)
                 [b]OR [/b] MC.obj within communes.obj
            INTO communes_MC_MD

Ou joindre les 4 tables dans une seule (menu table/Ajouter) !

Dernière modification par jean-francois Behm (Wed 01 July 2009 09:21)


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

Hors ligne

 

#14 Tue 30 June 2009 15:13

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

Re: On peut faire une selection SQL avec plus de 2 tables?

Tu passes par la FMB ou le gestionnaire de sélection SQL?

Hors ligne

 

#15 Tue 30 June 2009 15:16

qian
Participant occasionnel
Date d'inscription: 17 Feb 2009
Messages: 11

Re: On peut faire une selection SQL avec plus de 2 tables?

Spacejo a écrit:

Tu passes par la FMB ou le gestionnaire de sélection SQL?


j'avais essayé avec les deux.

Hors ligne

 

#16 Tue 30 June 2009 15:18

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

Re: On peut faire une selection SQL avec plus de 2 tables?

Remarques tu peux pratiquer ainsi aussi:

Code:

Select * from COM,MA where COM.obj contains MA.obj into MagasinsMA
Select * from COM,MB where COM.obj contains MB.obj into MagasinsMB
Select * from COM,MC where COM.obj contains MC.obj into MagasinsMC
Select * from COM,MD where COM.obj contains MD.obj into MagasinsMD

Le tout est à ajouter dans la FMB
Tu obtiendras 4 Tables ---> les magasins MA,MB,MC et MD dans tes communes, il ne te resteras plus qu'à les assembler
A+
Joël

Dernière modification par Spacejo (Tue 30 June 2009 15:21)

Hors ligne

 

#17 Tue 30 June 2009 15:31

qian
Participant occasionnel
Date d'inscription: 17 Feb 2009
Messages: 11

Re: On peut faire une selection SQL avec plus de 2 tables?

c'est une solution aussi

merci beaucoup

Hors ligne

 

#18 Tue 30 June 2009 15:52

qian
Participant occasionnel
Date d'inscription: 17 Feb 2009
Messages: 11

Re: On peut faire une selection SQL avec plus de 2 tables?

jean-francois Behm a écrit:
qian a écrit:

voilà ma SQL: j'ai 4 tables de magasin: MA, MB MC, MD,
                           et 1 table des communes: COM(avec 36 communes dedans) .

                       Je voudrais touvouer les communes qui ont des magasins(n'import quel magazin).

J'arrive pas, je suis coincée!!!
Merci à l'avance


Il faut, je pense, faire 2 requêtes avec MA et MB puis MC et MD :

Code:

SELECT nom_com FROM communes, MA 
             WHERE code_insee in(SELECT code_insee FROM communes, MB 
                                                 WHERE MB.obj within communes.obj)
                 AND MA.obj within communes.obj
            INTO communes_MA_MB


SELECT nom_com FROM communes, MC 
             WHERE code_insee in(SELECT code_insee FROM communes, MD
                                                 WHERE MD.obj within communes.obj)
                 AND MC.obj within communes.obj
            INTO communes_MC_MD

Ou joindre les 4 tables dans une seule (menu table/Ajouter) !


Merci
pour la première SQL, il me sort que les communes qui ont MB
pour la 2ème, MD

Hors ligne

 

#19 Tue 30 June 2009 15:57

Just-Soft
Participant actif
Lieu: Chlef, Algérie
Date d'inscription: 10 Jun 2009
Messages: 76

Re: On peut faire une selection SQL avec plus de 2 tables?

re,

j'ai fais ça mais là j'ai une autre erreur de type 'la requête retourne trop de lignes blablabla'

Code:

Bassins_versants_cheliff_zahre.obj Contains (select * from Communes_INCT,Rivieres where Communes_INCT.obj Intersects Rivieres.obj)

ce que je veux dire c'est que c'est faisable.


Bon courage ou Bonne Chance (selon le contexte)

Hors ligne

 

#20 Tue 30 June 2009 19:40

hanczyk
Participant assidu
Lieu: Châlons-en-Champagne
Date d'inscription: 21 Apr 2006
Messages: 596

Re: On peut faire une selection SQL avec plus de 2 tables?

Bonjour,

Sur le principe, je pense qu'il ne faudrait avoir qu'une seule table "MAGASIN" avec un champ "TYPE" avec pour code "MA" "MB" MC" et "MD".

Pour la table MA :
- tu créé un champ "TYPE"
- tu mets à jour la colonne par le code "MA"

Tu répètes cette manipulation pour les 3 autres tables
Tu ajoutes les tables MB, MC et MD à la table MA
Tu enregistres ta table MA en table MAGASIN
Ensuite tu fais ta requête sur ta table MAGASIN et ta table COMMUNE.

PS : Je confirme que l'on peut faire du SQL avec 3 tables bien sûr sous certaines conditions, je peux vous le démontrer)

@+ jmh


Jean-Marc Hanczyk

Hors ligne

 

#21 Wed 01 July 2009 09:25

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

Re: On peut faire une selection SQL avec plus de 2 tables?

qian a écrit:
jean-francois Behm a écrit:
qian a écrit:

voilà ma SQL: j'ai 4 tables de magasin: MA, MB MC, MD,
                           et 1 table des communes: COM(avec 36 communes dedans) .

                       Je voudrais touvouer les communes qui ont des magasins(n'import quel magazin).

J'arrive pas, je suis coincée!!!
Merci à l'avance


Il faut, je pense, faire 2 requêtes avec MA et MB puis MC et MD :

Code:

SELECT nom_com FROM communes, MA 
             WHERE code_insee in(SELECT code_insee FROM communes, MB 
                                                 WHERE MB.obj within communes.obj)
                 AND MA.obj within communes.obj
            INTO communes_MA_MB


SELECT nom_com FROM communes, MC 
             WHERE code_insee in(SELECT code_insee FROM communes, MD
                                                 WHERE MD.obj within communes.obj)
                 AND MC.obj within communes.obj
            INTO communes_MC_MD

Ou joindre les 4 tables dans une seule (menu table/Ajouter) !


Merci
pour la première SQL, il me sort que les communes qui ont MB
pour la 2ème, MD


Bonjour,
je me suis trompé il me semble (Les vacances vont faire du bien !).
Il faut essayer avec un OR à la place du AND :
Avec le AND, seules les communes qui ont à la fois des MA et des MB seront sélectionnées (normalement).

Cordialement,


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

Hors ligne

 

Pied de page des forums

Powered by FluxBB