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 et SQL. Discussion :

Select indirect impossible


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 18
    Points : 10
    Points
    10
    Par défaut Select indirect impossible
    Bonjour à tous,

    je tiens à vous préciser d'abord que je ne suis pas développeur professionnel merci.

    je cherche à faire une requête sur une table SQL nommée table_directe, elle contient un champ que j’appellerai champ_direct

    pour récupérer ce dernier, je passe par une seconde table nommée table_indirecte qui contient un numéro (NUM) et un champ que j’appellerai champ_indirect

    voici ma requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     SELECT (SELECT champ_indirect FROM table_indirecte WHERE NUM=2) FROM table_directe
    mais au lieu de récupérer les différente valeurs dans la table_directe correspondantes à la colonne renvoyée par le champ_indirect, je récupère x fois la valeur du champ_indirect lui même....

    quelqu'un pour m'aider ??

    merci d'avance



    Table directe :

    colonnes => champ_direct (INT)

    Table indirecte :

    colonnes => NUM (INT)
    champ_indirect (INT)

  2. #2
    Modérateur
    Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 282
    Points : 1 831
    Points
    1 831
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Pourquoi ne pas faire cette selection dans la table directe? A partir du moment où c'est un champ de la table directe que tu veux pourquoi passer par une autre table?
    En fait dis nous plus sur ce que tu veux justement faire pour qu'on puisse bien comprendre et te faire nos propositions.

    N'oublie pas d'utiliser la balise code # située au dessus de la zone de saisie du message quand tu veux poster un code ou une requête.

    Cordialement.
    Le monde évolue et nous avec. La technologie change les idées de ceux qui s'intéressent et pensent qu'il est nécessaire de changer.
    Oh là!! Que c'est bien de trouver la solution à un problème

    Pensons à améliorer nos connaissances en toute humilité car on apprend tous tous les jours !!!

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    je vous ai tout dit, et je ne peut pas faire ma requête directement sur la table directe

  4. #4
    Modérateur
    Avatar de bertiny
    Homme Profil pro
    Enseignant
    Inscrit en
    Mars 2013
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 282
    Points : 1 831
    Points
    1 831
    Billets dans le blog
    1
    Par défaut
    Alors çà ne nous aide pas à avancer. Je passe le relais à celui qui va te compredre.
    Cordialement
    Le monde évolue et nous avec. La technologie change les idées de ceux qui s'intéressent et pensent qu'il est nécessaire de changer.
    Oh là!! Que c'est bien de trouver la solution à un problème

    Pensons à améliorer nos connaissances en toute humilité car on apprend tous tous les jours !!!

  5. #5
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Bonjour,

    Elle marche bien cette requête elle a exactement fait ce que tu lui a demandé. Soit :

    Pour chaque enregistrement de la table "directe" renvoi moi la valeur de la colonne "indirecte" de la table "indirecte" dont la valeur de la colonne "Num" est "2".

    Si tu nous indiquais plutôt le but que tu recherches en faisant ce montage et surtout la relation entre ces 2 tables.

    Nous sommes d'un naturel curieux et nous aimons bien savoir où nous allons. C'est le gros défaut des développeurs.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Je pense que notre amis veux faire un générateur de requête!

    Affiche moi un select des champs de la table1 en prenant le nom des champs a sélectionné dans la table2?

  7. #7
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Citation Envoyé par dysorthographie Voir le message
    Bonjour,
    Je pense que notre amis veux faire un générateur de requête!

    Affiche moi un select des champs de la table1 en prenant le nom des champs a sélectionné dans la table2?
    tu me prêteras ta boule de cristal ?
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonsoir loufab,
    Si tu ne la gardes pas trop longtemps car je l'utilise au travail!

  9. #9
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    Bonjour,
    Citation Envoyé par virtu67
    je vous ai tout dit, et je ne peut pas faire ma requête directement sur la table directe
    ce n'est pas une réponse de quelqu'un qui demande de l'aide, donne au moins le lien entre les 2 tables :
    je cherche à faire une requête sur une table SQL nommée table_directe, elle contient un champ que j’appellerai champ_direct
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select champ_direct from table_directe
    pour récupérer ce dernier, je passe par une seconde table nommée table_indirecte qui contient un numéro (NUM) et un champ que j’appellerai champ_indirect
    si il y existe un lien entre les 2 tables, ce devrait quelque chose comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select champ_direct from table_directe where unchampdelatable_directe in (SELECT champ_indirect FROM table_indirecte WHERE num=2)
    et c'est ce lien qui manque dans tes explications.
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  10. #10
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par virtu67
    mais au lieu de récupérer les différente valeurs dans la table_directe correspondantes à la colonne renvoyée par le champ_indirect, je récupère x fois la valeur du champ_indirect lui même....
    si ma boule de Crystal est bien taré, ce serait un truc en VBA du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Option Compare Database
     
    Sub test()
    Dim Sql As String, rs As Object, Champs As String, i As Integer
    Sql = "SELECT champ_indirect FROM table_indirecte WHERE NUM=2"
    Set rs = CurrentDb.OpenRecordset(Sql)
    Champs = ""
    If Not rs.EOF Then
        While Not rs.EOF
            For i = 0 To rs.Fields.Count - 1
                If Champs = "" Then Champs = "[" & rs(i).Value & "]" Else Champs = Champs  & ",[" & rs(i).Value & "]"
            Next
            rs.MoveNext
        Wend
            Sql = " SELECT " & Champs & "  FROM table_directe"
            Debug.Print Sql
            Set rs = CurrentDb.OpenRecordset(Sql)
    End If
    End Sub
    Édit: Ce que tu veux faire n'est pas possible par requête sous requête!
    Les requête manipule des datas! Ici ta table champ_indirect te retourne des données tu ne peux pas les utiliser comme nom de champs de la table table_directe! Les requêtes ne s'exécutent pas en cascade!

    Tu veux faire deux requête bien distincte une qui récupère le nom de champs affin de gêner une autre requête!
    Dernière modification par Invité ; 16/01/2018 à 08h55.

Discussions similaires

  1. Multiple select - sélection impossible
    Par mouraf dans le forum Struts 2
    Réponses: 1
    Dernier message: 19/09/2009, 15h50
  2. Selection multiple impossible avec un listbox
    Par jolzeviking dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/09/2008, 08h37
  3. [DB2]select compliqué ou impossible ?
    Par xavrdtp dans le forum Langage SQL
    Réponses: 4
    Dernier message: 11/09/2006, 16h34
  4. Réponses: 5
    Dernier message: 14/03/2006, 16h12
  5. double selection impossible
    Par Ghost Dog dans le forum OpenGL
    Réponses: 3
    Dernier message: 12/05/2005, 19h42

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