#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,
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?
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?
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 MAGASINSRequè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)."
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?
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?
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)
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?
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?
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_MDOu 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?
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_MDOu 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,
Hors ligne