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 :

Le nom de la table est dans un table


Sujet :

Langage SQL

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Mai 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies

    Informations forums :
    Inscription : Mai 2015
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Le nom de la table est dans un table
    Bonjour tout le monde,

    Première question sur le forum. Désolé si la réponse est déjà là je ne l'ai pas trouvée.

    Voici mon cas : Je dispose d'une table qui contient les noms des tables disponibles.
    Je cherche à créer une vue qui s'appuie sur une table dont j'aurais trouvé le nom par une requete.

    Exemple:

    j'ai 5 tables : Table1, Table2, Table3, Table4 et Index.

    Index est en fait la liste des autres tables et contient les champs nom et ID, 4 enregistrements dans cet exemple :

    Table Index :
    ID Nom
    1 Table1
    2 Table2
    3 Table3
    4 Table4

    Je voudrais par exemple faire une requete qui me donne des attribut de la table 1 mais en fonction d'un select sur la table Index :


    exemple :

    select * from tablename = (select Index.nom from Index where Index.ID = 1)

    Evidemment cette syntaxe ne fonctionne pas, c'est simplement pour exrpimer mon besoin.

    Merci de votre aide

    Pierre

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 145
    Points : 1 389
    Points
    1 389
    Par défaut
    Bonjour

    et avec celle-la :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    select * 
       from tablename 
    WHERE tablename.nom  = (select Index.nom from Index where Index.ID = 1)
    = ou IN selon le cas

    a+

    olivier
    Merci d'ajouter un sur les tags qui vous ont aidé

  3. #3
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 059
    Points : 38 268
    Points
    38 268
    Billets dans le blog
    9
    Par défaut
    Si les différentes tables dont le nom est contenu dans la table "index" sont de même structure, il aurait été plus simple de faire une seule table partitionnée

    Sinon, il faut faire du sql dynamique à partir des infos collectées dans la table appelée "index"

Discussions similaires

  1. [MySQL] Savoir si un champ est dans la table
    Par ProgVal dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 06/07/2008, 11h45
  2. savoir si une valeur est dans une table
    Par pedro99 dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 06/06/2008, 10h44
  3. Ce qui est dans une table mais pas dans l'autre !
    Par youyoule dans le forum Requêtes
    Réponses: 4
    Dernier message: 30/12/2007, 13h57
  4. Accéder à une table dont le nom est dans une table
    Par claralavraie dans le forum Oracle
    Réponses: 7
    Dernier message: 26/12/2006, 16h51
  5. Réponses: 3
    Dernier message: 19/06/2006, 15h25

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