IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Autres SGBD Discussion :

jointures dont les 2 membres sont des select


Sujet :

Autres SGBD

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 20
    Points : 12
    Points
    12
    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)

  2. #2
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 222
    Points : 19 554
    Points
    19 554
    Billets dans le blog
    25
    Par défaut
    ça s'écrirait pas plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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;
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    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.

  4. #4
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 222
    Points : 19 554
    Points
    19 554
    Billets dans le blog
    25
    Par défaut
    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.
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    oki !
    y'a tout qui marche bien.

    Merci beaucoup.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 14/08/2014, 11h10
  2. Réponses: 2
    Dernier message: 04/10/2007, 13h42
  3. Résultat exact division dont les membres sont des requêtes
    Par totoranky dans le forum Langage SQL
    Réponses: 2
    Dernier message: 07/08/2007, 14h51
  4. Map dont les 2 valeurs sont récupérables ?
    Par Baptiste Wicht dans le forum Collection et Stream
    Réponses: 11
    Dernier message: 29/04/2006, 13h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo