Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/06/2011, 10h39   #1
Invité de passage
 
Femme Coralie
Étudiant
Inscription : juin 2011
Messages : 3
Détails du profil
Informations personnelles :
Nom : Femme Coralie
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Biens de consommation

Informations forums :
Inscription : juin 2011
Messages : 3
Points : 0
Points : 0
Par défaut Problème requête SQL

Bonjour tout le monde

Je suis nouvelle et débutante en informatique. Ma tutrice de stage m'a demandé une requête impossible à réaliser pour mon niveau .

Je vous explique mon problème sous MySQL

Voila voici ma table:

Id t-shirt pantalon chaussure
1 vert treillis basket
2 vert jean basket
3 rouge jean sandale
4 bleu survêt sandale
5 jaune short tong
6 vert jean sandale

J’ai besoin d’une requête qui me permettrait de faire un DISTINCT, mais seulement par rapport à la colonne t-shirt, c'est-à-dire éviter les doublons sur la colonne t-shirt.

Exemple du résultat obtenu :

Id t-shirt pantalon chaussure
1 vert treillis basket
3 rouge jean sandale
5 jaune short tong
6 bleu survêt sandale



J’ai essayé avec le SELECT DISTINCT, mais celui-ci élimine les doublons par rapport à toutes les colonnes .



Cordialement,
SqlMiss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2011, 10h42   #2
ced
Rédacteur/Modérateur

 
Avatar de ced
 
Homme Cédric Duprez
Inscription : avril 2002
Messages : 3 823
Détails du profil
Informations personnelles :
Nom : Homme Cédric Duprez
Âge : 36
Localisation : France, Loiret (Centre)

Informations professionnelles :
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : avril 2002
Messages : 3 823
Points : 6 440
Points : 6 440
Bonjour,

Et sur quel critère se baser, pour un "doublon" de t-shirt, pour garder une ligne plutôt qu'une autre ?
__________________
Rédacteur / Modérateur SGBD
Mes tutoriels et la FAQ MySQL

----------------------------------------------------
Pensez aux balises code et au tag
Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça
ced est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2011, 11h17   #3
Invité de passage
 
Femme Coralie
Étudiant
Inscription : juin 2011
Messages : 3
Détails du profil
Informations personnelles :
Nom : Femme Coralie
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Biens de consommation

Informations forums :
Inscription : juin 2011
Messages : 3
Points : 0
Points : 0
Je ne veux me baser sur aucun critère,

je récupère n'importe quelle valeur pour éviter le doublon, par exemple la première valeur verte de t-shirt...

Le choix de la valeur m'importe, pourvu que je n'ai qu'une ligne avec t-shirt = vert.
SqlMiss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2011, 12h12   #4
Membre Expert
 
Inscription : août 2008
Messages : 1 271
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 1 271
Points : 1 929
Points : 1 929
Le critère est important même s'il ne t'intéresse pas, donc avec le plus petit id par t-shirt :
Code :
1
2
3
4
5
SELECT t.id, t.t-shirt, t.pantalon, t.chaussure
  FROM latable t
  JOIN (SELECT t-shirt, min(id) AS min_id
          FROM latable
         GROUP BY t-shirt ) ts ON t.id = ts.min_id
Sinon le "modèle" est très mauvais... Si c'est toi qui l'a fait, va sur le forum merise pour te faire aider.
skuatamad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2011, 09h29   #5
Invité de passage
 
Femme Coralie
Étudiant
Inscription : juin 2011
Messages : 3
Détails du profil
Informations personnelles :
Nom : Femme Coralie
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Biens de consommation

Informations forums :
Inscription : juin 2011
Messages : 3
Points : 0
Points : 0
Ok merci !

J'ai testé aussi cette requête:

Code :
1
2
3
4
 
SELECT id, max(t-shirt), pantalon, chaussure 
FROM `mannequin` 
GROUP BY t-shirt
cela me donne bien le résultat que je souhaite.

Je vais de suite revoir mon modèle de données
SqlMiss est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h48.


 
 
 
 
Partenaires

Hébergement Web