Formation par Olivier Duffez

Formation au référencement par Olivier Duffez, créateur de WebRankInfo !
Une formule efficace alliant théorie et pratique, avec une haute disponibilité des intervenants
Cette formule a déjà convaincu plusieurs centaines d'entreprises, pourquoi pas vous ?
Réservez vite votre place en ligne (convention possible pour imputer sur le budget formation)

Formation référencement Marseille

Probleme de SELECT DISTINCT

Poster un nouveau sujet Imprimer cette discussion    Forum -> Développement d'un site Web   Les dernières discussions de ce forum sont disponibles au format RSS
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 
FINIELS
WRInaute discret
WRInaute discret

Inscrit le: 24 Mai 2004
Messages: 63
Localisation: Nimes

URL permanente de ce messagePosté le : Jeu Juil 10, 2008 12:47    Sujet du message: Probleme de SELECT DISTINCT

Bonjour,

J'ai besoin d'un petit coup de pouce, pour un problème de Select...

Voila ma table "VILLE":
Code:

COMMUNE               CODE POSTAL        DEPARTEMENT
Lyon                         (69000)                RHONE
Montpellier                (34000)                HERAULT
Montpellier                (34070)                HERAULT
Montpellier                (34080)                HERAULT
Montpellier                (34090)                HERAULT
Le Havre                   (76600)                SEINE MARITIME
Le Havre                   (76610)                SEINE MARITIME
Le Havre                   (76620)                SEINE MARITIME
Nîmes                       (30000)                GARD
Nîmes                       (30900)                GARD
Aix en Provence        (13090)                BOUCHES DU RHONE
Aix en Provence        (13100)                BOUCHES DU RHONE

je voudrais n'avoir que les villes sans doublons

Résultat souhaité :
Code:

Ville                         Code postal        DEPARTEMENT
Lyon                         (69000)                RHONE
Montpellier                (34000)                HERAULT
Le Havre                   (76600)                SEINE MARITIME
Nîmes                       (30000)                GARD
Aix en Provence        (13090)                BOUCHES DU RHONE

J'ai regardé du côté du DISTINCT mais ça nefonctionne pas :
SELECT DISTINCT commune FROM ville
Ne me permet évidemment pas de récupérer les colonnes "Code postal" / "DEPARTEMENT" dont j'ai besoin.

Je bugue ...Si quelqu'un a une idée...
 
FINIELS Visiter le site web du posteur
YoyoS
WRInaute accro
WRInaute accro

Inscrit le: 14 Sep 2006
Messages: 2183

URL permanente de ce messagePosté le : Jeu Juil 10, 2008 13:35    Sujet du message: Probleme de SELECT DISTINCT

Pour éviter les doublons, tu aurais pu faire ta table comme ceci:

COMMUNE CODE POSTAL DEPARTEMENT
Lyon 69000 RHONE
Montpellier 34000;34070..etc HERAULT
Le Havre 76600;76610..etc SEINE MARITIME

Puis quand tu lis une ligne, tu coupes simplement sur le ";" et ça te sort un tableau de codes postaux pour cette ligne

---

Sinon une petite requête orthogonale que je viens de tester et qui fonctionne:

Code:
select distinct t1.commune,(select t2.codepostal from ville t2 where t2.commune = t1.commune order by t2.codepostal limit 1) cp,t1.dept from ville t1
 
YoyoS Visiter le site web du posteur
Bool
WRInaute passionné
WRInaute passionné

Inscrit le: 26 Fév 2004
Messages: 979
Localisation: Lyon

URL permanente de ce messagePosté le : Jeu Juil 10, 2008 15:02    Sujet du message: Probleme de SELECT DISTINCT

Hello,

dans ton cas le "group by" me semble plus adapté.
Code:
select commune, min(codepostal) as codepostal, min(departement) as departement
from ville
group by commune


Mais effectivement une séparation en plusieurs tables (dissocier les codes postaux et les villes), aurait peut être été préférable.
 
Bool Visiter le site web du posteur
FINIELS
WRInaute discret
WRInaute discret

Inscrit le: 24 Mai 2004
Messages: 63
Localisation: Nimes

URL permanente de ce messagePosté le : Jeu Juil 10, 2008 17:18    Sujet du message: Probleme de SELECT DISTINCT

Merci pour vos réponses !

ça y est ça marche avec un simple GROUP BY ....

Pour ceux que ça intéresse voila ma requete finale :

SELECT * FROM villes GROUP BY Commune

C'était très con finalement Laughing
 
FINIELS Visiter le site web du posteur
Bool
WRInaute passionné
WRInaute passionné

Inscrit le: 26 Fév 2004
Messages: 979
Localisation: Lyon

URL permanente de ce messagePosté le : Jeu Juil 10, 2008 18:24    Sujet du message: Probleme de SELECT DISTINCT

Sauf que là ce n'est pas "valide", et ça ne marche qu'avec certaines versions de MySQL.

Quand on fait un "group by", on doit préciser les champs à lister, et il est interdit d'utiliser des champs qui ne sont pas dans le "group by" justement (il faut obligatoirement utiliser une fonction d'agrégation, d'où mon MIN() ).
 
Bool Visiter le site web du posteur
 
Montrer les messages depuis:   
Revenir en haut    Forum -> Développement d'un site Web Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1 - 
Connexion
Nom d'utilisateur:    Mot de passe:      Se connecter automatiquement à chaque visite    

CLIQUEZ ICI pour vous inscrire à WebRankInfo (forum, annuaire, outils...)

Connexion

© 2001-2005 phpBB Group, support français
Personnalisation : WebRankInfo ™


 ODP  Firefox  Alsacreations  annuaire webmaster Yagoort