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

Langage SQL Discussion :

MINUS: récupérer les champs ne se trouvant ni dans T1 ni dans T2


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 83
    Points : 56
    Points
    56
    Par défaut MINUS: récupérer les champs ne se trouvant ni dans T1 ni dans T2
    Bonjour,

    Alors mon problème a l'air somme toute très simple, mais je n'y arrive vraiment pas.

    J'aimerais récupérer l'ensemble des tables ne se trouvant ni dans T1 ni dans T2 ni dans T3 mais dans tout le reste des tables.

    En clair, un truc du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    select table_name from all_tables 
    MINUS(
    select a_name from T1
    select b_name from T2
    select c_name from T3
     );
    Evidemment ceci ne marche pas du tout.
    Auriez-vous une solution?

    Désolé, mais je suis novice en SQL

    Merci merci d'avance!

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 048
    Points
    34 048
    Billets dans le blog
    14
    Par défaut
    J'aimerais récupérer l'ensemble des tables ne se trouvant ni dans T1 ni dans T2 ni dans T3 mais dans tout le reste des tables.
    Il s'agit plutôt de l'ensemble des tuples ou de l'ensemble des lignes je suppose ?

    Ou alors si j'en crois le titre du message, il s'agit des noms de colonnes ?

    Si c'est la deuxième version, il existe normalement dans ton SGBD une base information_schema qui contient toutes les méta-données sur l'ensemble des bases, tables, colonnes gérées par le SGBD.

    Il nous faudrait donc plus de précisions pour savoir quoi répondre...

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    Par défaut
    Citation Envoyé par twixi
    J'aimerais récupérer l'ensemble des tables ne se trouvant ni dans T1 ni dans T2 ni dans T3 mais dans tout le reste des tables.
    Cette demande est incohérente. En effet, si la requête cherche à lister les lignes qui ne sont dans aucune des tables, cela ne veut rien dire. En revanche, on peut par exemple et selon des critères de jointure entre les tables qui restent à définir, retrouver les lignes qui sont dans T1 et pas dans T2 ou dans T3, mais on ne peut pas retrouver des lignes qui n'existent pas.

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 099
    Points : 28 390
    Points
    28 390
    Par défaut
    J'ai un peu de mal à comprendre ta question.
    Tu parles de tables, de champs... mais je ne suis pas sur que cela corresponde à la signification habituelle que l'on donne à ces termes.

  5. #5
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 83
    Points : 56
    Points
    56
    Par défaut
    Bonjour à tous!

    Tout d'abord merci CinePhil, merci Mercure et Merci Al1_24, d'avoir pris le temps de lire mon sujet qui je l'avoue n'est pas du tout très explicite. La fatigue aidant et l'exaspération m'a fait écrire n'importe quoi.

    Je me réexplique.
    La commande ' SELECT table_name FROM all_tables ' permet de lister toutes les tables de la base oracle.
    Ces même tables sont listés dans 3 autres tables. En effet, la table T1 contient dans la colonne (table_1) toutes les tables utilisées pour un certains secteur. Idem pour la table T2 et T3.
    En résumé pour 3 différents secteurs, les tables T1 T2 et T3 contiennent dans le colonne le noms des tables utilisés.

    Ma question: Comment puis-avoir les tables qui ne sont pas utilisés dans T1 T2 et T3?

    J'espère avoir été plus clair.
    Je vous remercie d'avance de votre lecture et espère une réponse.

  6. #6
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 048
    Points
    34 048
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par twixi Voir le message
    J'espère avoir été plus clair.
    Désolé mais non !

    Alors...
    Modèle de données SVP ! Soit un schéma, soit la description des tables.

  7. #7
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 240
    Points : 12 872
    Points
    12 872
    Par défaut
    Allez, je me lance dans une tentative:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SELECT table_name FROM all_tables 
    except(
    SELECT a_name FROM T1
    union
    SELECT b_name FROM T2
    union
    SELECT c_name FROM T3
     );
    En fait j'ai interprété ta question ainsi:
    Tu veux lister toutes les tables de la base (le premier select) exception faite de celles qui sont listées dans T1 (a_name) ou T2 (b_name) ou T3 (c_name).

  8. #8
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 83
    Points : 56
    Points
    56
    Par défaut
    Merci Tatayo!
    Je suis désolé de ne pas avoir été clair, mais c'est exactement ce que je recherchais!

    Pour mes prochaines demande et réponses, je ferai un effort quant à la précision de mes réponses.

    Je teste ça tatayo, et je te dis ça!

    (croise les doigts pour que ça fonctionne)

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/01/2007, 19h34
  2. Récupérer les champs d'une classe
    Par gudul dans le forum Delphi
    Réponses: 3
    Dernier message: 15/10/2006, 14h01
  3. [Access] Récupérer les champs commençant par ...
    Par paflolo dans le forum Langage SQL
    Réponses: 3
    Dernier message: 15/02/2006, 10h35
  4. récupérer les champs mis à jour
    Par xave dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 06/10/2005, 14h40
  5. [Servlet] récupérer les champs d'une jsp
    Par phoebe dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 12/05/2004, 16h32

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