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 21/05/2007, 17h43   #1
Invité de passage
 
Inscription : mai 2007
Messages : 1
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 1
Points : 0
Points : 0
Par défaut Selectionner la jointure entre deux tables en postgres et php

Bonjour à tous,

je travaille avec une bd postgres et php.
je travaille sur un module de fusion de document dynamique, donc les champs qui seront dans les document sont pas définis avant. apres que je post mon formulaire, j'étais capable de récupéré les noms des champs, puis par apres les tables appropriés, mais mon probleme c'est comment récupéré la relation (jointure) entre mes tables pour que je puisse construire ma requete.
pour etre plus clair, je veux savoir s'il y a une fonction qui recoit les noms de deux tables en parametres et retourne la jointure entre ces deux tables.
Merci de votre aide.
hanaj est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2007, 14h58   #2
Membre éclairé
 
Avatar de deY!
 
Inscription : avril 2006
Messages : 403
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : avril 2006
Messages : 403
Points : 358
Points : 358
Cherche avec les Schémas d'information

J'ai pondu ça qui me permet de recuperer la liste des champs avec leur type et s'il s'agit d'une clé primaire

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT c.column_name, c.data_type, c.is_nullable, CAST('t' AS BOOLEAN) AS is_pk
FROM information_schema.COLUMNS c
LEFT JOIN information_schema.constraint_column_usage cc ON cc.column_name = c.column_name
WHERE c.table_name = 'services'
AND cc.constraint_name = 'pk_'||c.table_name
UNION
SELECT c.column_name, c.data_type, c.is_nullable, CAST('f' AS BOOLEAN) AS is_pk
FROM information_schema.COLUMNS c
WHERE c.table_name = 'services'
AND c.column_name NOT IN (SELECT c.column_name
			FROM information_schema.constraint_column_usage c
			WHERE c.table_name = 'services'
			AND c.constraint_name = 'pk_'||c.table_name)
__________________
deY!
deY! est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2007, 16h47   #3
Membre éclairé
 
Avatar de icer
 
Inscription : janvier 2006
Messages : 332
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 332
Points : 308
Points : 308
Tu peut créer une vues qui représente la jointure de tes deux tables.
icer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/05/2007, 18h03   #4
Membre éclairé
 
Avatar de deY!
 
Inscription : avril 2006
Messages : 403
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : avril 2006
Messages : 403
Points : 358
Points : 358
C'est pas ça qu'il demande, il veut recuperer la ou les contraintes qui existent sur une table, en l'occurence une clé etrangére.
__________________
deY!
deY! 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 14h11.


 
 
 
 
Partenaires

Hébergement Web