begin process at 2012 05 27 04:40:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

Access

 > 

Requêtes

 > 

Requête Union entre 3 tables


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Requête Union entre 3 tables

jeudi 9 octobre 2008 à 09:44:38 | Requête Union entre 3 tables

Nana35

Bonjour à tous,
j'ai cherché sur le forum des  réponses susceptibles de correspondre au mieux à ma situation mais je n'arrive pas à appliquer des requêtes sql pour mon cas particulier.
Dans un premier temps, je vous explique les relations entre mes tables sous Access:
Captage-->Collectivité
Captage-->SMP
Collectivité-->SMP
Collectivité-->Exploitant
SMP-->Exploitant
Je souhaite d'après ce modèle obtenir une requête :
IdCaptage, Nom captage, Id Producteur (SMP et collectivité confondus), Nom Producteur (SMP et Collectivité confondus), IdExploitant pour chaque producteur.

Si cette union entre trois tables n'est pas faisable, il y a une autre possibilité. Je cherche à obtenir sur une même colonne les identifiants producteurs (SMP et Collectivité) dans la table Captage et d'autre part à unir la table Collectivité avec la table SMP (table producteur) avec également l'exploitant qui est renseigné. Cela nécessite deux requêtes.

Quelle est la soultion que vous me proposez?
Est-t-il nécessaire de décrire davantage l'ensemble des champs?
Merci de votre aide.
jeudi 9 octobre 2008 à 10:09:28 | Re : Requête Union entre 3 tables

nhervagault

Administrateur CodeS-SourceS
Salut

Peux tu mettre les types des champs et les autres champs pour éclaisir ta demande.

TABLE1
=============
ID | Collectivité

TABLE2
============
ID | SMP

TABLE 3
============
ID | PRODUCTEUR | TABLE_ORIGINE


Voila comment obtenir un jeu qui est du type table3
SELECT ID ,  Collectivité  as PRODUCTEUR, 'collect' as TABLE_ORIGINE FROM TABLE1
UNION
SELECT ID ,  SMP as PRODUCTEUR, 'SMP' as TABLE_ORIGINE FROM TABLE2

Je sais que c'est pas la réponse mais ca peut être une piste pour résoudre le problème.
Je ne vois pas comment sont articulées tes  tables

Pour faire la concaténation de champs  c'est champ + '   ' + champ

Bon SQL
jeudi 9 octobre 2008 à 11:00:17 | Re : Requête Union entre 3 tables

Nana35

Merci,
Ok pour la table producteur entre la table smp et collectivité. Mais si je veux une relation captage -->producteur il faut que je regroupe dans la table captage ma colonne portant l'id SMP avec ma Colonne idColl. Mais ça aussi c'est pas clair pour moi.

Ta méthode implique alors deux requêtes. Je ne peux pas avoir du premier coup ce résultat :"IdCaptage, Nom captage, Id Producteur (SMP et collectivité confondus), Nom Producteur (SMP et Collectivité confondus), IdExploitant pour chaque producteur"

Par contre je ne cherche pas à concaténer deux champs.

Voici le détail de mes tables:
CAPTAGE: CAid, CAnom, CAstade, CAdate, CAcol#, CAsmp#
COLLECTIVITE: COid, COnom, COtype, COabonné, COsmp#, COexpl#
SMP: Sid, Snom, Sabre, Spresident, Sexpl#
EXPLOITANT: Eid, Enom.
En fait ,un captage peut être la propriété d'une collectivité ou d'un smp. Et une collectivité fait partie d'un smp. Un Smp a un contrat d'affermage avec un exploitant et une collectivité a aussi de son côté un contrat d'affermage avec un exploitant.
J'espère que c'est plus clair.

jeudi 9 octobre 2008 à 13:35:17 | Re : Requête Union entre 3 tables

nhervagault

Administrateur CodeS-SourceS
Salut,

Une requete du style
SELECT captage.nom, Collect.nomC, SMP.nomSMP, iif(isnull(SMP.nomSMP),Collect.nomC,SMP.nomSMP) as exploit
FROM SMP RIGHT JOIN (Collect RIGHT JOIN captage ON Collect.id = captage.FK_C_ID) ON SMP.id = captage.FK_S_ID;

Ca repond peut etre a ta demande le nom des colonnes a été perdu pour gagner du temps.

Bon SQL


Cette discussion est classée dans : table, tables, smp, producteur, collectivité


Répondre à ce message

Sujets en rapport avec ce message

Nom de table !? [ par jimmy69 ] Bonjour a tous,Je suis en train de realiser un p'tit projet en php avec sql serveur 2000 !J'ai une p'tite question a vous poser !je suis en train de c Update sur plusieurs tables [ par Chris_LaFouine ] Bonjour,Je voudrais savoir comment mettre à jour une table à partir des données d'une autre table. Je m'explique...J'ai une table A et une table B. Je Supprimer une table sans savoir le nom [ par Ylaosusdiande ] Salut !!Dans un projet de viewer de bases sql!! je dois supprimer toutes les tables d'une base !! mais je ne conais ni le nom des tables ni celui de l une table qui hérite de deux tables [ par kgadhi ] Bonsoir tous le monde, et merci de votre aide d'avance.j'ai une table client et je veux faire la difference entre un client physique (une personne) et Dépendance de tables SQL [ par toutgreg ] Bonjour, Je suis entrain de faire l'architecture de ma base SQL et je bloque sur une dépendance de table. Pour résumer, j'ai 3 tables et je cherche à Comparaison [ par romainbisson ] Salut,Je souhaite comparer deux tables A et B ou le champ C existe dans les deux tables, mais je veux que C soit aboslument egal dans  les deux tables Affichage de mes tables [ par beny100 ] bonjour, j'ai ecris mon programme et j'ai des requettes sous sql qui me renvoie les donées de ma table mais je voudrais pas que pendant mon export sou Récupération de données des tables listés dans un autre table... [ par killysui ] Bonjour!!!J'ai un petit soucis...J'ai une base de données contenant une table Toto(Id_Toto, Toto, Nom_Table)qui contient presque toutes la liste des a Requête sql sur plusieurs tables [ par Eros2007 ] Bonjour tout le monde.voila ma question:j'utilise une requette sql pour pouvoir faire un preview et imprimer par la suite les enregistrements des clie Comparaison de temps d'execution par rapport à la structure d'une table [ par hasen ] Amis du jour, bonjour!Je m'explique, car j'ai l'impression que mon titre n'est pas clair... J'ai une base de données Access avec 2 très grosses tables


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,669 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales