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 :

Requête avec ALIAS


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Homme Profil pro
    analyste-programmeur
    Inscrit en
    Mars 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : analyste-programmeur
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2013
    Messages : 28
    Points : 24
    Points
    24
    Par défaut Requête avec ALIAS
    Bonjour, bonjour,
    J'ai un problème.
    Je voudrais faire une requête avec ALIAS, mais... ça marche pas.
    Je cherche à afficher la vulnérabilité d'une personne (c'est pour une ONG).
    La table personne a pour clé IDPersonne.
    J'ai aussi besoin de son nom et de l'enquêteur qui le suit, entre autres.
    La vulnérabilité de la personne est dans la table personneVulnerabiliteDetail.
    Elle a une clé multiple IDPersonne, Code (de vulnérabilité) et entreeSortie (la vulnérabilité est évaluée en début et en fin de suivi de la personne par l'ONG)
    entreeSortie est un booléen, True pour l'entrée, False pour la sortie.
    Les codes sont définis dans une table vulnerabilite avec leur définitions.
    Lors de l'évaluation, chaque code peut pendre plusieurs valeurs prédéfinies dans une table vulnerabiliteDetail.
    Voilà pour les données qui définissent la requête.
    Voilà la requête que j'ai fait directement en SQL:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    SELECT personne.IDPersonne, personne.Nom, a.code, vulnerabilite.Description, a.detailValeur, c.detailDescription, b.detailValeur, d.detailDescription
    FROM personne, personneVulnerabiliteDetail AS a, personneVulnerabiliteDetail AS b, vulnerabilite, vulnerabiliteDetail AS c, vulnerabiliteDetail AS d
    WHERE personne.IDPersonne = a.IDPersonne
    AND Families.IDPersonne = b.IDPersonne
    AND a.entreeSortie = -1
    AND b.entreeSortie <> -1
    AND a.Code = Vulnerabilite.Code
    AND ((a.Code = c.Code) AND (a.detailValeur = c.detailValeur))
    AND ((b.Code = d.Code) AND (b.detailValeur = d.detailValeur));
    Ce que je veux dans l'état correspondant, c'est, à partir d'un IDPersonne afficher un en-tête avec les infos de la personne (nom...).
    Et en dessous un tableau avec sur chaque ligne le code vulnérabilité évalué avec sa description.
    Avec à coté, la valeur mesurée à l'entrée puis la valeur à la sortie et les descriptions de ces valeurs.
    Exemple de ligne:
    Code 1 - Logement | Entrée: 0 - Sans logement | Sortie: 01 - Logement d'urgence

    Précision: les codes évalués à la sotie doivent être les mêmes qu'à l'entrée.

    J'ai codé tout ça dans Access, mais quand je l'exécute, Access me demande un fichier ODBC alors que la requête est dans la base où sont les données.
    Et même si je veux le faire pointer sur mon fichier Access, il n'en veut pas.

    Qu'est-ce que j'ai fait qui va pas?
    Merci de votre aide,
    FabOK

  2. #2
    Membre éclairé Avatar de dumas.blr
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2010
    Messages
    598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2010
    Messages : 598
    Points : 879
    Points
    879
    Par défaut
    Bonjour fabOK,

    Il me semble qu'il manque une table dans ta requête
    je ne vois pas la table Families dans ton FROM qui est dans la jointure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     AND Families.IDPersonne

  3. #3
    Membre à l'essai
    Homme Profil pro
    analyste-programmeur
    Inscrit en
    Mars 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : analyste-programmeur
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2013
    Messages : 28
    Points : 24
    Points
    24
    Par défaut
    Exact, c'est une erreur.
    En fait, c'est la table personne.
    On a donc:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    SELECT personne.IDPersonne, personne.Nom, a.code, vulnerabilite.Description, a.detailValeur, c.detailDescription, b.detailValeur, d.detailDescription
    FROM personne, personneVulnerabiliteDetail AS a, personneVulnerabiliteDetail AS b, vulnerabilite, vulnerabiliteDetail AS c, vulnerabiliteDetail AS d
    WHERE personne.IDPersonne = a.IDPersonne
    AND personne.IDPersonne = b.IDPersonne
    AND a.entreeSortie = -1
    AND b.entreeSortie <> -1
    AND a.Code = Vulnerabilite.Code
    AND ((a.Code = c.Code) AND (a.detailValeur = c.detailValeur))
    AND ((b.Code = d.Code) AND (b.detailValeur = d.detailValeur));

  4. #4
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 863
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 863
    Points : 58 438
    Points
    58 438
    Billets dans le blog
    44
    Par défaut
    bonsoir,

    Citation Envoyé par fabOK Voir le message
    mais quand je l'exécute, Access me demande un fichier ODBC alors que la requête est dans la base où sont les données
    je pense que tu as confondu SQL direct avec Mode SQL. C'est en Mode SQL que tu dois écrire ta requête.

  5. #5
    Membre à l'essai
    Homme Profil pro
    analyste-programmeur
    Inscrit en
    Mars 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : analyste-programmeur
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2013
    Messages : 28
    Points : 24
    Points
    24
    Par défaut
    Exactement!
    Merci beaucoup,
    fabOK

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

Discussions similaires

  1. requête problématique avec alias
    Par adeltimple dans le forum Requêtes
    Réponses: 3
    Dernier message: 26/10/2010, 15h12
  2. problème requête avec alias et jointure
    Par shelko dans le forum Requêtes
    Réponses: 6
    Dernier message: 22/03/2009, 12h06
  3. Multi requêtes avec alias
    Par zebiloute dans le forum Requêtes
    Réponses: 5
    Dernier message: 06/06/2008, 15h10
  4. Requête SQL avec alias
    Par Pitou5464 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 07/08/2006, 11h29
  5. [MySQL] Requête avec alias
    Par gazouza dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 17/03/2006, 15h58

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