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 :

Comment lister le contenu de plusieurs tables différentes à la suite? [Débutant(e)]


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 84
    Par défaut Comment lister le contenu de plusieurs tables différentes à la suite?
    Bonjour, question bête :
    est il possible de lister le contenu de plusieurs tables différentes, le tout à la suite, en une requete au serveur (une sorte de SELECT multiple). C'est juste pour limiter mon code JAVA à vrai dire.

    Ca pourrait ressembler à une UNION, mais je ne suis pas sur du résultat et si ca marche dans certains cas, j'ai peur du comportement sur des tables avec plusieurs milliers d'entrées (il faut logiquement la même structure de ce que j'ai cru comprendre).

    Ca pourrait peut être ressembler à :
    SELECT * FROM table1;
    SELECT * FROM table2;
    ...
    Mais dans ce cas la, ca ne me garde pas tous les résultats.

    Les structures des tables sont vraiment différentes.

    Merci

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Par défaut
    Citation Envoyé par Lambrosx
    Ca pourrait ressembler à une UNION
    UNION implique que chaque requête SELECT retourne le même nombre de colonnes et respectivement toutes de même type (quitte à le modifier via CAST par exemple).

    Pouvez-vous expliquer cette phrase :
    Citation Envoyé par Lambrosx
    Mais dans ce cas la, ca ne me garde pas tous les résultats.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 84
    Par défaut
    Mes colonnes sont de même type effectivement et le nombre de colonne est identique. Si je suis sur de son comportement, alors je vais utiliser ça.

    Mais dans ce cas la, ca ne me garde pas tous les résultats = Ca ne m'affiche les résultats que de la dernière requete.

    Encore merci de l'aide.

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Par défaut
    Vos messages me rendent perplexes : tantôt vous affirmez que la structure de vos tables sont différentes, tantôt vous prétendez qu'elles correspondent aux exigences de la clause UNION

    Pouvez-vous nous fournir un jeu d'essai minimal qui vous amène à cette conclusion :
    Citation Envoyé par Lambrosx
    Ca ne m'affiche les résultats que de la dernière requete

  5. #5
    Membre éprouvé Avatar de lper
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    398
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 398
    Par défaut
    Et attention au piège classique du UNION, utilisez UNION ALL si jamais...

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 84
    Par défaut
    Oui, je suis désolé de mon manque de clareté.
    Je m'explique:
    Je voulais juste savoir si il existait une méthode simple, pour afficher plusieurs contenus de bases, qui puissent s'appliquer à tous les cas d'utilisation (à savoir des tables aux structures différentes mais aussi identiques (le deuxième cas n'étant qu'un cas particulier du premier).
    J'ai donc essayé avec l'UNION ce qui ma permis d'obtenir le résultat espéré dans le cas de tables aux stuctures identiques (ce qui résoud un de mes problèmes dans un premier temps).

    Mais dans le cas de structures différentes, ca ne marche plus. J'ai donc pensé à plusieurs requetes SELECT séparées par des ";". Mais après essai dans PHPMyAdmin, je me rends compte que les seuls résultats listés sont ceux de ma dernière requête comme par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT * 
    FROM m_typepalette
    WHERE m_tp_type LIKE '%RFI';# Enregistrements: 4
    SELECT * 
    FROM m_typecouvercle
    WHERE m_tc_type LIKE '%RFI';
    qui ne m'affiche que 4 résultats au lieu de 8 (4 par requete).

    En espérant avoir été plus clair.

  7. #7
    Membre Expert

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Par défaut
    Hormis en utilisant un curseur qui interroge les tables système pour faire un parcours dynamique des tables concernés (i.e. celle dont la structure est "marginale"), je vois comment vous pourriez généraliser un tel traitement.

    Je ne suis pas expert en modélisation / administration de DB mais je vous conseille d'éviter ce genre de simplfication faute de quoi vous allez effondrer les performances, complexifier dramatiquement votre modèle de données, etc.

    (Ma) conclusion : écrivez plus de code Java (mais qui sera plus propre)

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

Discussions similaires

  1. Même contenu pour plusieurs tables différentes
    Par reitsab dans le forum WinDev
    Réponses: 7
    Dernier message: 04/12/2009, 11h36
  2. Comment récupérer le contenu de plusieurs fichiers textes ?
    Par calimero2611 dans le forum Langage
    Réponses: 9
    Dernier message: 19/02/2006, 16h45
  3. Comment rechercher une chaine dans plusieurs tables ?
    Par tsing dans le forum Requêtes
    Réponses: 2
    Dernier message: 26/11/2005, 19h04
  4. comment effacer le contenu d'une table ttable
    Par naw dans le forum Bases de données
    Réponses: 4
    Dernier message: 07/07/2004, 17h13
  5. Lister le contenu d'une table sans connaitre ses champs
    Par Google.be dans le forum PostgreSQL
    Réponses: 9
    Dernier message: 30/03/2004, 16h23

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