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

Langage SQL Discussion :

Petit souci avec une requete


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 41
    Points : 17
    Points
    17
    Par défaut Petit souci avec une requete
    Bonjours,
    je vais essayer d'etre clair dans mes explications, car je ne fais des db depuis peu, j'ai donc tout appris sur le net
    Le projet est de faire une db pour gere des offres pour une boite.
    Nous avons donc une table marchés affichant toutes les information.
    La requete que je desire realisee porte sur 5tables, peu etre plus ca depend de ce que vous me direz. Les 3 premiere table sont des tables de statut, avec des valeur, en menu deroulant, variant de 1 a 5.
    Imaginon que le premier status: 3 , le deuxieme a 2 et le premier a 2,
    ca nous donnes 322.
    Dans une table appelle status j'ai encoder tout ces valeurs, au prealable
    et chaque correspond a un chiffre entre 1 et 5.
    Imaginon que 322 dans la table soit en parralele avec 2 et ben je desire afficher 2 dans ma table marche.

    j'espere que vous pourriez vraiment m'aide, si quelques choses ne sont pas clair de mon expliquation, demandé moi je repondrai dans les plus bref delais
    merci beaucoup beaucoup d'avance
    amicalement Romain

  2. #2
    Membre éclairé Avatar de Arkhena
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 552
    Points : 769
    Points
    769
    Par défaut
    Bonjour,

    Peut-être qu'un petit exemple de données pourrait aider parce que là je n'ai rien compris.... (C'est peut-être la blonde attitude? )

    Arkhena
    A bove ante, ab asino retro, a stulto undique caveto

  3. #3
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 641
    Points
    4 641
    Par défaut
    salut,

    peux tu donner un petit exemple?

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 41
    Points : 17
    Points
    17
    Par défaut
    donc j'ai une table marche, reprenant trois ligne Status offre, status candi et status qualifier, ces trois colonnes sont des menu deroulant avec des valeurs comprise en 3 et 5. ces valeurs son stoquee dans les 3 table si dessus.
    et dans cette table marche, j'ai egalement une quatrieme collone status Marche. La somme des chiffre status offre,qualifier et candi nous donne un nombre a 3 chiffres(si 1,4,5 ==> 145). Ce nombre a 3 chiffres correspond dans une autre table a un chiffre varient entre 1 et 6 et c'est ce chiffre que je veux faire apparaitre dans ma table marche!
    en fait je veux que ca soit automatique que lorsque je change la valeur d'un des 3 status, la status marche se change automatiquement

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 861
    Points : 965
    Points
    965
    Par défaut
    Bonjour,

    Inspirez vous des règles du forum SQL, ce sera plus simple pour vous aider.
    Notamment description des tables, nom du SGBD...
    C'est un peu l'embrouille votre histoire

    Donc, vous avez une table marche, avec 4 colonnes.
    La concaténation des trois première donne un nombre, qui correspond "dans une autre table" à une valeur que vous souhaiteriez voir apparaitre dans la table marche.
    Je vois pas bien l'intérêt, il semble qu'il suffise d'une jointure pour afficher ce dont vous avez besoin.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 41
    Points : 17
    Points
    17
    Par défaut
    vous avez bien compris :p mais le souci c'est que je n'arrive pas a faire cette jointure, et a mettre les 3chiffre les un a la suite de l'autre

  7. #7
    Membre émérite Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Points : 2 845
    Points
    2 845
    Par défaut
    Salut !

    Comme le dit Snipah, ça serait bien de donner la description des tables.
    (Genre sous forme de CREATE TABLE)
    Le summum bien sûr, ça serait un jeu de données en plus !

    Concernant ta concaténation :
    a * 100 + b * 10 + c ?

    (c'est ma photo)
    Paku, Paku !
    Pour les jeunes incultes : non, je ne suis pas un pokémon...

    Le pacblog : http://pacmann.over-blog.com/

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 41
    Points : 17
    Points
    17
    Par défaut
    ouai merci c'est pas bete pour la concaténation, j'y vais pas penser ^^
    plus que cette histoire de jointure^^je vais essaye de expliquer et vous me direz ce donc vous avez besoin je vous le donnerai :p
    Donc maintenant que je sais faire la concaténation, j'ai mon nombre de 3chiffres , et ce nombre est repris dans une table appelle statut
    exemple:
    id ------ status_id
    122 ------ 2
    344 ------ 5
    245 ------ 4
    147 ------ 2
    voila la table status et moi ce que je veux c'est de faire appaitre le status_id et non l'id

  9. #9
    Membre émérite Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Points : 2 845
    Points
    2 845
    Par défaut
    Ben c'est la jointure, non ?

    Si tes colonnes sont toutes numériques, ça donne : (c'est pour ça que la description des tables sous forme de CREATE TABLE est bien plus précise pour nous !)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT b.statut_id
    FROM marche a
      JOIN tableB b ON b.id = a.c * 100 + a.b * 10 + a.a

    (c'est ma photo)
    Paku, Paku !
    Pour les jeunes incultes : non, je ne suis pas un pokémon...

    Le pacblog : http://pacmann.over-blog.com/

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 41
    Points : 17
    Points
    17
    Par défaut
    ok merci je comprend mais je suis au bureau, et on ne fait pas ce que on veux ce sont des table donc on ne peut montrer le contenu sinon le petit b correspond a quoi?

  11. #11
    Membre émérite Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Points : 2 845
    Points
    2 845
    Par défaut
    C'est un alias : ça permet de ne pas se retaper les noms de tables, et aussi de pouvoir référencer plusieurs fois la même table (sur des auto-jointures par exemple).

    Ecrire NomOuAliasTable.NomColonne permet de lever les ambiguités (si plusieurs tables ont des colonnes de même nom).
    Et pour la compréhension, ça permet de voir qui appartient à qui plus rapidement.

    (c'est ma photo)
    Paku, Paku !
    Pour les jeunes incultes : non, je ne suis pas un pokémon...

    Le pacblog : http://pacmann.over-blog.com/

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 41
    Points : 17
    Points
    17
    Par défaut
    ok merci maintenant il me dit qu'il y a une erreur venant du from

  13. #13
    Membre éclairé Avatar de Arkhena
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 552
    Points : 769
    Points
    769
    Par défaut
    Un petit peu de précisions :

    - Quelle erreur ? Y a-t-il un message ? Quel est le comportement ?
    - Quelle est la requête exacte qui a été lancée ?
    A bove ante, ab asino retro, a stulto undique caveto

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 41
    Points : 17
    Points
    17
    Par défaut
    la requete:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Status.Status_Marché
    FROM Marché
    JOIN Status  
    ON Status.Id = Marché.Stat offre*100+Marché.Stat qualif*10+Marché.Stat candi
    le message d'erreur:
    erreur de synthaxe dans la clause FROM


    merci beaucoup pour votre aide

  15. #15
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    861
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 861
    Points : 965
    Points
    965
    Par défaut
    je comprend mais je suis au bureau, et on ne fait pas ce que on veux ce sont des table donc on ne peut montrer le contenu
    On vous demande la structure, pas le contenu.
    Encore une fois, avec la structure des tables et le nom du SGBD utilisé (SQL Server, Oracle, MySQL...Access?), on pourra sans doute vous fournir plus facilement une requête adaptée. Sinon, à vous de l'adapter à votre SGBD.

    EDIT :
    Evitez les accents et les espaces lorsque vous nommez vos tables et colonnes, votre problème doit venir de la, essayez d'encadrez les noms de colonne qui contiennent des espaces par des " ou des `.

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 41
    Points : 17
    Points
    17
    Par défaut
    je suis sous access

  17. #17
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 41
    Points : 17
    Points
    17
    Par défaut
    maintenant j'ai donc:
    requete:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Status."Status_Marché"
    FROM "Marché"
    JOIN Status 
    ON Status.Id = "Marché".Stat_offre * 100 + "Marché".Stat_qualif * 10 +"Marché".Stat_candi;
    erreur:
    erreur de synthaxe dans la requete. la clause de la requete est imcomplete

  18. #18
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 641
    Points
    4 641
    Par défaut
    salut,

    pour status, il faut aussi le mettre en guillemet puisque c'est un mot réservé pour le SQL.

    Si tu peux, il faut renommer tes tables en évitant les accents et les mots réservés

  19. #19
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 41
    Points : 17
    Points
    17
    Par défaut
    j'ai mis entre guillemet mais tj la meme chose , est-ce que ca l'erreur peu encore venir de la? meme si je les ai mis entre ""?

  20. #20
    Membre émérite Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Points : 2 845
    Points
    2 845
    Par défaut
    Sous access, c'est pas des [] ?

    (c'est ma photo)
    Paku, Paku !
    Pour les jeunes incultes : non, je ne suis pas un pokémon...

    Le pacblog : http://pacmann.over-blog.com/

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Petit soucis avec une regexp
    Par Nickname dans le forum Langage
    Réponses: 2
    Dernier message: 21/07/2011, 09h23
  2. [PHP 5.2] [PHP-JS] petit souci avec une boucle simple
    Par gtraxx dans le forum Langage
    Réponses: 2
    Dernier message: 05/02/2009, 16h26
  3. [Prototype] Petit souci avec une requête
    Par spy74 dans le forum Bibliothèques & Frameworks
    Réponses: 2
    Dernier message: 14/01/2009, 19h54
  4. [VBA-E]Petit souci avec une boucle
    Par Mou dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 17/04/2007, 16h15
  5. Petit soucis avec une requête
    Par Jeetiz dans le forum Requêtes
    Réponses: 4
    Dernier message: 01/02/2007, 15h53

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