Précédent   Forum des professionnels en informatique > Bases de données > Autres SGBD
Autres SGBD Vos questions sur les autres SGBD
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/04/2005, 16h20   #1
Invité de passage
 
Inscription : avril 2005
Messages : 20
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 20
Points : 3
Points : 3
Par défaut jointures dont les 2 membres sont des select

Bonjour,

la requête suivante pose problème, si quelqu'un peut m'aider s'il vous plait :

select PKTABLE_SCHEM, PKTABLE_NAME, PKCOLUMN_NAME,
FKTABLE_SCHEM, FKTABLE_NAME, FKCOLUMN_NAME
from sysibm.sqlforeignkeys F
LEFT OUTER JOIN
select TABLE_SCHEM, TABLE_NAME, COLUMN_NAME
from sysibm.sqlprimarykeys P
ON
F.PKTABLE_SCHEM = P.TABLE_SCHEM
and F.PKTABLE_NAME = P.TABLE_NAME
and F.PKCOLUMN_NAME = P.COLUMN_NAME

WHERE P.TABLE_SCHEM is null;




=> me renvoie l'erreur (rapidSQL, désolé) :
SQL0104N Une marque inattendue "," figure à la suite de "N select TABLE_SCHEM". Parmi les marques attendues, on trouve : "(". SQLSTATE=42601


J'ai essayé d'encadrer le second bloc SELECT ... FROM ... dans des parenthèses, mais j'obtiens alors l'erreur :

SQL0104N Une marque inattendue "" figure à la suite de ")". Parmi les marques attendues, on trouve : "AS". SQLSTATE=42601


Dernier point : étant donné que la ligne
FKTABLE_SCHEM, FKTABLE_NAME, FKCOLUMN_NAME
du 1er select ne sert qu'à retourner les resultats, j'ai essayé de la retirer mais j'obtiens les 2 mêmes erreurs...

Voilà, je pense que j'ai tout exposé, alors si quelqu'un est motivé...

Merci

(note : s'il y en a qui sont inspirés pour l'indentation, j'accepte aussi les critiques sur ce plan, mais ce n'est pas le point capital)
rémi_tounul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2005, 10h53   #2
Rédacteur/Modérateur
 
Avatar de fadace
 
Homme Fabien Celaia
Administrateur de base de données
Inscription : octobre 2002
Messages : 3 779
Détails du profil
Informations personnelles :
Nom : Homme Fabien Celaia
Âge : 41
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Service public

Informations forums :
Inscription : octobre 2002
Messages : 3 779
Points : 8 124
Points : 8 124
Envoyer un message via ICQ à fadace Envoyer un message via Skype™ à fadace
ça s'écrirait pas plutôt
Code :
1
2
3
4
5
6
7
8
SELECT PKTABLE_SCHEM, PKTABLE_NAME, PKCOLUMN_NAME,
FKTABLE_SCHEM, FKTABLE_NAME, FKCOLUMN_NAME, TABLE_SCHEM, TABLE_NAME, COLUMN_NAME
FROM sysibm.sqlforeignkeys F
LEFT OUTER JOIN sysibm.sqlprimarykeys P
ON F.PKTABLE_SCHEM = P.TABLE_SCHEM
AND F.PKTABLE_NAME = P.TABLE_NAME
AND F.PKCOLUMN_NAME = P.COLUMN_NAME
WHERE P.TABLE_SCHEM IS NULL;
fadace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2005, 11h34   #3
Invité de passage
 
Inscription : avril 2005
Messages : 20
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 20
Points : 3
Points : 3
C'est une idée...

qui marche super-bien.


Et dans le select, je dois mettre toutes les colonnes qui me serviront pour les colonnes à retourner ET pour les conditions de le jointure ?


Merci Mr le rédacteur modérateur.
rémi_tounul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2005, 13h39   #4
Rédacteur/Modérateur
 
Avatar de fadace
 
Homme Fabien Celaia
Administrateur de base de données
Inscription : octobre 2002
Messages : 3 779
Détails du profil
Informations personnelles :
Nom : Homme Fabien Celaia
Âge : 41
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Service public

Informations forums :
Inscription : octobre 2002
Messages : 3 779
Points : 8 124
Points : 8 124
Envoyer un message via ICQ à fadace Envoyer un message via Skype™ à fadace
Seulement ce que vous voulez retourner, pas les conditions de jointures que se trouvent - elles - soit dans la clause from ... INNER, soit dans les conditions.
fadace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2005, 14h56   #5
Invité de passage
 
Inscription : avril 2005
Messages : 20
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 20
Points : 3
Points : 3
oki !
y'a tout qui marche bien.

Merci beaucoup.
rémi_tounul est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h18.


 
 
 
 
Partenaires

Hébergement Web