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

Requêtes MySQL Discussion :

Retourner le nom de la table dont provient la ligne


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 110
    Points : 62
    Points
    62
    Par défaut Retourner le nom de la table dont provient la ligne
    Hello,

    Les tables sont de ce type TABLE(id,nom,prenom)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    (SELECT * FROM `videos` WHERE bit=0) 
    UNION 
    (SELECT * FROM `livres` WHERE bit=0) 
    UNION 
    (SELECT * FROM `audio` WHERE bit=0) 
    ORDER BY `datecreation` DESC
    Comment retourner le nom de la table de laquelle est extraite chaque ligne dans un champ supplémentaire ?

    Je cherche à obtenir des tables de résultat de ce format :
    RESULTAT(id,nom,prenom,nom_de_la_table)

    Merci et bonne soirée.

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 284
    Points : 11 738
    Points
    11 738
    Par défaut
    btw, l'UNION effectue un DISTINCT, ce qui est relativement long. Si tu n'as pas de préférence, il est donc préférable d'utiliser UNION ALL.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT id, nom, prenom, 'videos' AS nom_de_la_table, datecreation FROM `videos` WHERE bit=0
    UNION ALL
    SELECT id, nom, prenom, 'livres', datecreation FROM `livres` WHERE bit=0
    UNION ALL
    SELECT id, nom, prenom, 'audio', datecreation FROM `audio` WHERE bit=0
    ORDER BY `datecreation` DESC

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 110
    Points : 62
    Points
    62
    Par défaut
    Merci c'est génial ça marche !

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

Discussions similaires

  1. [MySQL-5.6] Requête imbriquée retournant le nom d'une table pour FROM
    Par henrif dans le forum Requêtes
    Réponses: 2
    Dernier message: 14/04/2015, 16h34
  2. Réponses: 6
    Dernier message: 08/02/2007, 14h41
  3. Supprimer des tables dont le nom commence par XXX
    Par Escandil dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 11/04/2006, 21h46
  4. Supprimer des tables dont le nom commence par XXX
    Par Escandil dans le forum PostgreSQL
    Réponses: 11
    Dernier message: 06/09/2005, 17h53
  5. curseur sur une table dont on ne connaît pas le nom
    Par NPortmann dans le forum Oracle
    Réponses: 4
    Dernier message: 12/07/2005, 09h04

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