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

Java Discussion :

requête select de plusieurs colonnes de tables différentes


Sujet :

Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 158
    Par défaut requête select de plusieurs colonnes de tables différentes
    Bonjour,

    J'ai la requête sql suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select T1.c1, T1.c2, T2.c1, T2.c2
    from table1 T1, table2 T2
    where T1.idT1=T2.idT1
    Une jointure reliant T2 à T1, et je voudrais récupérer le résultat (c'est un tableau[n][4] avec n=nb d'enregistrements retournés et 4=nb de colonnes dans select (T1.c1, T1.c2, T2.c1 et T2.c2)).

    Le code que j'utilise si je récupère uniquement les données d'une seule table est facile.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    try {
    Query query = session.createQuery("ma requête");
    query.setString("str", str);
    List obj1  =query.list();
    int i = obj1.size();
    for (int j=0;j<i;j++) {
    (Objetct) obj = (Objetct) obj1.get(j);
    }
    }
    Mais pour ce cas de figure, je sais pas comment je peux faire pour récupérer le résultat de ma requête.

    Merci d'avance.

  2. #2
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    Bin c'est la même chose, chaque champ à un nom (qui doit être unique), donc tu peux le récupérer, indépendament de sa table physique...

    Par contre, je te conseille très très vivement d'oublier cette syntaxe de jointure et d'utiliser de l'ANSI, c'est beaucoup plus lisible:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT 
        a.f1 as a_f1, a.f2 as a_f2, b.f1 as b_f1, b.f2 as b_f2
    from a 
    inner join b on a.id=b.id
    where ...
    
    //puis en java...
    resultSet.getString("a_f1")
    resultSet.getString("a_f2")
    //etc...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 158
    Par défaut
    Citation Envoyé par Pill_S Voir le message
    resultSet.getString("a_f1")
    resultSet.getString("a_f2")
    quel est le type resultSet? car si je fais comme ce ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    List resultSet = query.list();
    la méthode getString("a_f1"), n'existe pas.

    Merci.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 106
    Par défaut
    euh ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ResultSet res = query.executeQuery()

  5. #5
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    Citation Envoyé par lahmar.abdel1 Voir le message
    quel est le type resultSet? car si je fais comme ce ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    List resultSet = query.list();
    la méthode getString("a_f1"), n'existe pas.

    Merci.
    bin je sais pas... je ne sais pas quelle est l'api que tu utilises (visiblement ce n'est pas du jdbc standard). faut lire la doc!

Discussions similaires

  1. Réunir des colonnes de tables différentes dans une requête
    Par GCAccess dans le forum Modélisation
    Réponses: 3
    Dernier message: 14/03/2009, 00h59
  2. problème pour requête SELECT sur plusieurs tables
    Par 3dagard dans le forum Requêtes
    Réponses: 15
    Dernier message: 18/08/2008, 01h34
  3. Réponses: 8
    Dernier message: 16/02/2007, 13h53
  4. Selection de plusieurs colonnes avec une zone de liste
    Par vinzeffect dans le forum Access
    Réponses: 3
    Dernier message: 20/01/2007, 23h51
  5. Select sur plusieurs colonnes
    Par Mynautor dans le forum Langage SQL
    Réponses: 6
    Dernier message: 02/03/2006, 15h49

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