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 :

Problème de requête simple/liaisons tables [AC-2003]


Sujet :

Requêtes et SQL.

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2011
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Problème de requête simple/liaisons tables
    Bonjour à tous,
    Je dois me servir d'Access pour mon stage, mais je ne l'ai jamais utilisé. Je viens de lire le petit tutoriel requête ( très sympa d'ailleurs ), mais cela ne suffit pas à me débloquer. La requête que j'essaye de faire est la suivante :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT ARMEMENT.LIGNE, COM.CPK, COM.PKD, COU.RAYON, COU.DEVERS, ARMEMENT.VITESSE, ARMEMENT.LONGUEUR
    FROM (ARMEMENT INNER JOIN COM ON (ARMEMENT.LIGNE=COM.LIGNE) AND (ARMEMENT.VOIE=COM.VOIE) AND (ARMEMENT.CPK=COM.CPK)) INNER JOIN COU ON (COM.LIGNE=COU.LIGNE) AND (COM.VOIE=COU.VOIE) AND (COM.CPK=COU.CPK);
    Il n'y a aucune réponse, seulement une fenêtre de calcul type excel qui s'ouvre, avec rien dedans.
    J'ai aussi essayé celle-ci ( sans relier les tables dans la requête)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT COU.LIGNE, COU.PKD, COU.PKF, ARMEMENT.LONGUEUR, COU.RAYON, COU.DEVERS, ARMEMENT.VITESSE
    FROM COU, ARMEMENT
    ORDER BY COU.LIGNE, COU.PKD DESC , COU.PKF DESC;
    et là, un message d'erreur apparaît " espace insuffisant sur le disque temporaire". Quelqu'un a-t-il une idée? Avez-vous besoin de plus d'infos par rapport à la requête que j'essaye de faire?
    Merci d'avance

  2. #2
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonjour Mg6321,

    Laisses tomber la 2ème requête (sans liaison).

    Peux-tu poster l'image graphique de ta 1ère requête (via l'assistant) ?
    C'est plus parlant, donc plus rapide à analyser.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2011
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Bonjour,
    Merci de ta réponse rapide.
    Je ne trouve pas l'image graphique. En lançant une requête avec l'assistant, il apparaît un message " une ou plusieurs de vos tables ne sont pas en relation avec les autres, cliquez sur ok pour rmodifier les relations systèmes.."
    Lorsque l'on crée une requête, il faut qu'il y est un champ commun dans chacune des tables que l'on sélectionne? Et si oui ( ce qui est le cas pour moi), faut-il sélectionner les champs en commun?
    Merci

  4. #4
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonjour Mg6321,

    Citation Envoyé par Mg6321
    il apparaît un message " une ou plusieurs de vos tables ne sont pas en relation avec les autres, cliquez sur ok pour rmodifier les relations systèmes.."
    ==> c'est, sans doute, l'explication de ton souci.

    Via l'assistant, re-crées ta requête en ajoutant tes tables dans l'ordre et en sélectionnant tes champs. Commences par créer tes liaisons avec des flèches à droite (LEFT JOIN) pour voir ce que cela donne.

    Tu pourras, ensuite, récupérer le code SQL, si tu le souhaites.

    En résumé, il est beaucoup plus simple de passer par l'assistant et de récupérer le code SQL, que de taper du code SQL pour le débugger dans l'assistant.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2011
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Bonjour Richard_35,

    En fait je ne sais pas quelle relation créer. J'ai trois tables. Dans chacune d'elle, il y a 5 champs communs aux trois. Mon but est d'arriver à faire une table/table excel unique avec les champs sélectionné.
    Faut-il que je crée une relation entre chaque champs commun? Je crée des liaisons en cliquant/glissant d'un champ à un autre. Est-ce une liaison avec des flèches à droite? Est-ce un requête simple? ou à analyse croisée?
    Merci de ton aide.

  6. #6
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonjour Mg6321,

    Si la liaison entre tes 3 tables s'effectue par 5 champs, alors il faut les relier par ces 5 champs, via une requête sélection simple. Donc, avec 5 flèches à droite, pour l'instant.

    Donc, pour répondre, précisemment :
    Citation Envoyé par Mg6321
    Faut-il que je crée une relation entre chaque champs commun?
    ==> oui, si c'est la liaison entre ces tables.


    Citation Envoyé par Mg6321
    Je crée des liaisons en cliquant/glissant d'un champ à un autre.
    ==> oui.


    Citation Envoyé par Mg6321
    Est-ce une liaison avec des flèches à droite?
    ==> oui, pour l'instant. Il sera bien temps d'affiner, après. Consultes, à ce propos, le texte d'explication sur le sens des flèches, c'est très clair.


    Citation Envoyé par Mg6321
    Est-ce un requête simple? ou à analyse croisée?
    ==> une requête simple ("sélection").

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2011
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Lorsque je lance la requête, il m'ouvre bien une fenêtre type excel, mais il ne connaît pas le nombre de ligne. Si j'essaye de trier l'ensemble des lignes ( exemple par odre croissant etc..), il plante et me dit "espace temporaire insuffisant".
    Les données sont peut-être trop volumineuses? les tables comportent chacune entre 100000 et 150000 lignes, et entre 5 et 15 colonnes.
    J'essaye de faire des requêtes progressives, mais il plante quand même.

    Edit: Après un premier tri, je n'ai plus que 4500 lignes sur l'ensembles des tables concernées

  8. #8
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Les données te semblent-elles cohérentes ?

    Citation Envoyé par Mg6321
    .../...mais il ne connaît pas le nombre de ligne.../...
    ==> En bas de la fenêtre, dans la barre de navigation, demandes à te positionner à la fin des enregistrements : tu auras le nombre de records sélectionnés.


    Citation Envoyé par Mg6321
    Si j'essaye de trier l'ensemble des lignes ( exemple par odre croissant etc..), il plante et me dit "espace temporaire insuffisant".
    ==> laisses le finir... quand le nombre de lignes apparaît, la requête est "terminée".


    Citation Envoyé par Mg6321
    Après un premier tri, je n'ai plus que 4500 lignes sur l'ensembles des tables concernées
    ==> demandes le tri dans la requête elle-même : cela rénèrera la clause ORDER BY.

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2011
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Si je sélectionnais ,dans la barre de navigation, la fin des enregistrements, il plantait. Mais comme tu l'as dit, je ne devais pas attendre assez longtemps.
    Merci pour ton aide en tout cas. J'ai fait des requêtes simples et je me suis débrouillé sur Excel.
    Du coup j'ai une autre question. Dis moi si il vaut mieu que je commence une nouvelle discussion.
    Pour créer une table à partir d'un tableau excel, quelle est la démarche à suivre?
    J'ai essayé de copier/coller dans "créer une table en entrant des données", mais un message apparaît " texte trop long pour être modifié..
    Merci encore

  10. #10
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Non, pas de copier/coller.

    Il faut passer par l'importation de données : dans l'onget "Tables", click-droit, "Importer", puis suivre l'assistant.

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2011
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    merci, ça marche.
    bonne fin de journée

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

Discussions similaires

  1. problème avec requête simple pgsql
    Par php_faboul dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 30/04/2010, 10h50
  2. Problème de requête simple
    Par Poisell dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 01/04/2009, 15h50
  3. problème sur requête sur 3 tables avec une somme
    Par tomguiss dans le forum Requêtes
    Réponses: 4
    Dernier message: 27/12/2007, 16h44
  4. suite au problème de requête sur plusieur table
    Par michelGProuq dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 07/07/2006, 16h19
  5. Problème de requêtes sur deux tables
    Par Pymm dans le forum Access
    Réponses: 6
    Dernier message: 06/09/2005, 09h06

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