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

Annonce

GEODATA DAYS 2024

#1 Fri 22 June 2007 15:59

asiri
Juste Inscrit !
Date d'inscription: 22 Jun 2007
Messages: 4

reqête SQL pour joindre 4 tables

Bonjour,

je cherche à joindre 4 tables dont chacune possède une colonne en commun.  Une des 4 tables est la table initiale, les trois autres proviennent d'une selection de cette table initiale. Ainsi, je cherche à recréer une nouvelle table de données à partir de ces tables où je puisse relier les éléments de la table initiale avec les éléments de chaque table.
Suite à une selection SQL entre deux tables, la nouvelle table de données relie uniquement les identifiants en commun, or je veux voir apparaitre également les identifiants qui ne sont pas en commun sur ma table initiale.

J'ai donc effectué la selection SQL suivante:
FD_0607_S1_communes_47.NOCOM=FD_0607_S1__ZH1_communes_47.NOCOM Or FD_0607_S1_communes_47.NOM=FD_0607_S1__ZH2_communes_47.NOCOM Or FD_0607_S1_communes_47.NOCOM=FD_0607_S1__ZH3_communes_47.NOCOM

Mais, je reçois un message d'erreur disant:
"aucune jointure n'est spécifiée entre les tables FD_0607_S1_communes_47 et FD_0607_ZH1_communes_47. Condition de jointure erronée dans la clause critères (Where)".

Quelqu'un a t-il une solution à m'apporter pour que je puisse traiter mes 4 tables en meme temps et que ca marche !
Merci

Hors ligne

 

#2 Fri 22 June 2007 16:16

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

Re: reqête SQL pour joindre 4 tables

Bonjour
La méthode m'échappe un peu (et il y a je crois une faute -de frappe ? - dans votre 2ème ligne: NOM vs NOCOM)
Vous pouvez essayer:
FD_0607_S1_communes_47.NOCOM in (FD_0607_S1__ZH1_communes_47.NOCOM,FD_0607_S1__ZH2_communes_47.NOCOM,FD_0607_S1__ZH3_communes_47.NOCOM)

Hors ligne

 

#3 Fri 22 June 2007 21:21

Maestro de la salsa
Participant actif
Date d'inscription: 7 Jun 2006
Messages: 133

Re: reqête SQL pour joindre 4 tables

bonjour,
Tu peux faire voir toute la requête ou donner plus d'explications?
Si j'ai bien compris et que les 3 autres tables proviennent de la 4eme, ta requete revient à rassembler les trois tables(table-->ajouter). C'est important de voir l'ordre de tes tables pour la sortie.

Hors ligne

 

#4 Mon 25 June 2007 09:07

asiri
Juste Inscrit !
Date d'inscription: 22 Jun 2007
Messages: 4

Re: reqête SQL pour joindre 4 tables

Bonjour et merci pour votre aide.
En effet, il y avait une erreur dans ma requete mais cela ne change en rien la réponse.

L'ordre est important pour faciliter des calculs par la suite, c'est pour cela que je souhaite répartir mes colonnes ainsi: 1ere colonne (avec toutes les données de référence en 1ere colonne, puis les données de ZH1, Zh2, ZH3).

En fait, j'ai reussi a obtenir mes données via la modification de ma structure initiale (S1_communes_47) en rajoutant 3 colonnes à la suite qui correspondent à mes surfaces partielles). puis en faisant une mise à jour de mes colonnes, il y a eu jointure à partir des Numéros de commune. J'arrive donc à mes fins. Simplement, je pensais qu'une requete SQL etait possible pour faire une seule manipulation et travailler mes quatre tables en meme temps.
La requete fonctionne lorsque j'utilise deux tables uniquement mais le soucis est que la requete va générer une nouvelle table mais  ne conserve de la 1ere table uniquement  les identifiants présents dans la seconde table. Or, je souhaite garder intact ma première table.... donc a priori, en voulant travailler en meme temps mes 4 colonnes, j'imagine que la requete SQL va faire des selections successives depuis ZH1 jusqu'à ZH3...et donc lorsqu'elle arrive à ZH2, certains identifiants ont disparu car il y a une préselection avec ZH1 (et certains identifiants sont présents ou absents entre ZH1 et ZH2)...et n'arrive donc pas à joindre les deux tables.
Voilà!
Alors juste par curiosité, est ce possible par selection SQL de travailler 4 tables en meme temps et de demander a ce qu'une table de référence ne soit pas modifiée ???
Merci

Dernière modification par asiri (Mon 25 June 2007 09:58)

Hors ligne

 

Pied de page des forums

Powered by FluxBB