Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/07/2011, 10h38   #1
Invité de passage
 
Homme Pascal
Inscription : juillet 2011
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme Pascal
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juillet 2011
Messages : 2
Points : 0
Points : 0
Par défaut Souci Débutant SQL

Bonjour,
j'ai un petit problème pour récupérer des données dans une base PostgresSQL, soit (image relation en PJ)
Je cherche à lister tous les enregistrement de la Table1 en affichant le Nom contenu dans la Table4.
Le champs "id_service" de la Tables1 n'est pas rempli systématiquement, il faut pour récupérer ce champs utiliser la Table5 et trouver l'enregistrement "parent" pour pouvoir disposer d'un champ "id_service" rempli et par conséquent pourvoir aller chercher le champ "nom".
J'ai du mal à imaginer une telle requête... pourriez vous m'aider.
Par avance merci
Images attachées
Type de fichier : jpg Tables.jpg (25,8 Ko, 8 affichages)
Pistil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 12h19   #2
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 954
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 954
Points : 17 777
Points : 17 777
Évitez d'utiliser systématiquement ID comme nom de clef d'une table. Dans un système d'information, la norme AFNOR veut que chaque information du SI soit identifiée par un nom clair et unique au sein du SI. Avoir donné systématiquement le nom ID comme clef de toutes vos tables est une imbécilité qui entretient la confusion et empêche le NATURAL JOIN !

Ensuite postez le DDL de vos tables et non des noms bidons !
http://www.developpez.net/forums/d34...ter/#post21044

Enfon votre requête devrait ressembler à quelque chose comme ça :

Code :
1
2
3
4
5
6
SELECT T1.*, T4.Nom
FROM   TABLE1 AS T1
       LEFT OUTER JOIN TABLE2 AS T2
            ON T1.??? = T2.???
       LEFT OUTER JOIN TABLE4 AS T4
            ON T2.??? = T4.???
A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 14h56   #3
Invité de passage
 
Homme Pascal
Inscription : juillet 2011
Messages : 2
Détails du profil
Informations personnelles :
Nom : Homme Pascal
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juillet 2011
Messages : 2
Points : 0
Points : 0
Merci pour cette réponse et désolé de ne pas avoir respecté les règles (pourtant écrites) du Forum. C'est promis, à l'avenir je les respecterai car évidentes.

je vais donc tester tes éléments de réponse et indiquerai la suite donnée.
Merci
Pistil est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h56.


 
 
 
 
Partenaires

Hébergement Web