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

JDBC Java Discussion :

SQL sur ResultSet ?


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    292
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 292
    Par défaut SQL sur ResultSet ?
    Bonjour,
    peut-on faire une requête SQL sur un ResultSet ?
    je m'explique :
    j'ai 3 tables T1, T2 et T3 table de jointure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    T1(id1, a,b)
    T2(id2, c,d)
    T3(id1,id2)
    je veux chercher des données dans T1 et T2 mais a partir de T3 :
    a partir de ce resultat je prend l'id1 pour rechercher dans T1 et id2 dans T2
    je veux faire une requete genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select * from T1
    where id1 in (select id1 from T3)
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select * from T2
    where id2 in (select id2 from T3)[
    au lieu de faire 2 fois la même requête, j'ai stocker le résultat de T3 dans resultSet,
    je veux a partir de ce résultat recherche dans T1 et T2 ?
    existe-il une solution ? sinon comment peut-on proceder ?
    merci

  2. #2
    Membre chevronné
    Inscrit en
    Avril 2010
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 239
    Par défaut
    Bonjour,

    A quoi sert la requête
    ?
    Si vous la supprimez, cela fait une requête de moins ... et vous n'avez plus qu'à lancer les deux requêtes l'une après l'autre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select * from T1
    where id1 in (select id1 from T3)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select * from T2
    where id2 in (select id2 from T3)
    A moins que ce que vous souhaitez faire soit ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT T1.*, T2.*
    FROM T1, T1, T3
    WHERE T1.id1 = T3.id1
    AND T2.id2 = T3.id2

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    292
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 292
    Par défaut
    j'ai résumé le truc ! désolé !
    A quoi sert la requête
    Code :
    select * from T3
    dans cette requete il y a une condition where je l'ai omis volontairement.
    j'ai besoin d'une sous table de la table T3, et partir de ça je fait des recherche sur T1 et T2 à partir des identifiants stockés dans T3 !
    c pourquoi j'ai besoin de faire une requete sur le resultSet de la table T3

  4. #4
    Membre chevronné
    Inscrit en
    Avril 2010
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 239
    Par défaut
    Quelles sont les requêtes exactes que vous souhaitez ?

    Ceci ne convient pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT T1.*, T2.*
    FROM T1, T1, T3
    WHERE T1.id1 = T3.id1
    AND T2.id2 = T3.id2
    AND VOTRE CONDITION SUPPLEMENTAIRE sur T3
    ?

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    292
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 292
    Par défaut
    je pense pas !
    par ce que j'ai besoin d'archiver ces données là dans 3 autre tables similaire aux précédentes,
    je récupère un résultat de la table T3 qui contient les données à archiver
    et à partir de ça pour chaque identifiant id1 trouvé dans le résultat, je prend la ligne correspondante dans T1 et je l'a mis dans archi_T1,
    pareil pour T2
    et enfin le resultat de T3 je le mis dans archi_T3

  6. #6
    Membre chevronné
    Inscrit en
    Avril 2010
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 239
    Par défaut
    Donc en tout ça vous fait 6 requêtes (3 de sélection et 3 d'insertion) ?

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/06/2010, 10h57
  2. Réponses: 2
    Dernier message: 03/05/2004, 12h13
  3. Réponses: 7
    Dernier message: 21/04/2004, 17h16
  4. Commande d'exécution d'une procedure stockée SQL sur vb
    Par tseg dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 04/11/2003, 12h47
  5. A propos d'une requête SQL sur plusieurs tables...
    Par ylebihan dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/09/2003, 16h26

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