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 MySQL Discussion :

Probleme de selection dans un requete


Sujet :

Requêtes MySQL

  1. #1
    Membre régulier Avatar de 12_darte_12
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Transports

    Informations forums :
    Inscription : Février 2005
    Messages : 212
    Points : 107
    Points
    107
    Par défaut Probleme de selection dans un requete
    Bonjour,

    Voila ma table :



    J'aimerai donc selectionner les enregistrements dont le num_siege = 84 et dont le num_regroup_societe est distinct.

    Voila le resultat que je voudrai :



    Ma requete est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT DISTINCT (societe_stock.num_regroup_societe), societe_stock.num_societe, societe_stock.num_siege, societe_stock.denomination
    FROM societe_stock
    WHERE societe_stock.num_siege = '84'
    Mais celle-ci ne fonctionne pas.
    12_darte_12

  2. #2
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    Salut,

    Le DISTINCT porte sur la ligne entière.

    Selon quelle règle GE MEDICAL SYSTEMS doit-il être sélectionné plutôt que GE MEDICAL SYSTEMS 2 ?
    Pensez au bouton

  3. #3
    Membre régulier Avatar de 12_darte_12
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Transports

    Informations forums :
    Inscription : Février 2005
    Messages : 212
    Points : 107
    Points
    107
    Par défaut
    En fait les 3 GE MEDICAL sont les mêmes. LA differences c'est qu'elles peuvent etre entrée par plusieur plate forme differente, donc je les trace par leur num_societe, mais dans le recap je les regroupe a l'aide du num_regroup_societe.

    La denomination peut egalement varier d'une plate forme a une autre du type GE MEDICAL pour une et G.E. MEDICAL pour une autre.

    Moi ce qui m'importe c'est de récuperer le nom de la societe pour lequel le num_societe est egale au num_regroup_societe.

    Par exemple le num_regroup_societe pour tous les GE MEDICAL est 84.
    Donc jaffiche le nom de la societe qui a pour num_societe 84.
    12_darte_12

  4. #4
    Membre régulier Avatar de 12_darte_12
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Transports

    Informations forums :
    Inscription : Février 2005
    Messages : 212
    Points : 107
    Points
    107
    Par défaut
    Je viens de tester cette requete qui me donne le resultat attendu qu'en pensez vous?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT DISTINCT societe_stock.denomination, societe_stock.num_siege, societe_stock.num_societe, societe_stock.num_regroup_societe
    FROM generale
    INNER JOIN societe_stock ON generale.num_societe = societe_stock.num_societe
    WHERE societe_stock.num_siege = '84'
    GROUP BY societe_stock.num_regroup_societe
    12_darte_12

  5. #5
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    Ce n'est ni très élégant ni très performant.

    Je pense qu'il y a un problème de modélisation. Par exemple pourquoi la dénomination d'une société se retrouve-t-elle dans la table societe_stock et pas dans une table société ?
    Pensez au bouton

  6. #6
    Membre régulier Avatar de 12_darte_12
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Transports

    Informations forums :
    Inscription : Février 2005
    Messages : 212
    Points : 107
    Points
    107
    Par défaut
    Ma table societe_stock est ma table societe.
    Le _stock est pour differencier avec une ancienne table societe qui n'est pas commune. Et donc dans celle ci nous inserons les anciennes societes qui nous utilisons et les regroupons. Mais je suis obligé de conserver cette denomination car cette ancienne table est dans access.
    12_darte_12

  7. #7
    Membre émérite Avatar de Maximil ian
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 622
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 622
    Points : 2 973
    Points
    2 973
    Par défaut
    Moi pour faire les choses proprement je rajouterais une table regroupement avec comme identifiant num_regroup et une colonne dénomination contenant la vraie dénomination de la société.
    Ensuite une simple jointure entre societe_stock et regroupement suffit...
    Pensez au bouton

  8. #8
    Membre régulier Avatar de 12_darte_12
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Transports

    Informations forums :
    Inscription : Février 2005
    Messages : 212
    Points : 107
    Points
    107
    Par défaut
    Ok, je vois ce que tu veux dire, je ne pensai pas du tout a cela.

    Merci.
    12_darte_12

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

Discussions similaires

  1. [Access] Probleme de count dans une requete sql
    Par castelligreg dans le forum Langage SQL
    Réponses: 6
    Dernier message: 14/04/2006, 16h20
  2. [MySQL] probleme de syntaxe dans une requete sql
    Par jeanfrancois dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 28/03/2006, 10h54
  3. [JDBC]problème de syntaxe dans une requête en java...
    Par chti_juanito dans le forum JDBC
    Réponses: 60
    Dernier message: 04/11/2005, 16h47
  4. [ASE]probleme memoire: select dans une insert
    Par SegmentationFault dans le forum Sybase
    Réponses: 2
    Dernier message: 16/08/2005, 12h20
  5. Probleme de logique dans une requete
    Par linou dans le forum Langage SQL
    Réponses: 11
    Dernier message: 18/03/2005, 19h52

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