#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