Multiples DISTINCT dans une requête..possible ?

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


tryan
WRInaute accro
WRInaute accro
 
Messages: 1499
Inscription: Dim Fév 20, 2005 14:14

Multiples DISTINCT dans une requête..possible ?

Message le Dim Aoû 31, 2008 13:42

Salut,

Est il possible de 'caser' plusieurs 'DISTINCT' dans une requête sql en jointure ?

Code: Tout sélectionner
$query0 = mysql_query("SELECT L.region, L.departement, L.ville, T.situation FROM TYPE_DE_LOCATION T, LOCALISATION L WHERE T.id = L.Id AND T.situation = 'bord_de_mer' ORDER BY L.region ASC");


Je pensais un truc du style:

Code: Tout sélectionner
$query0 = mysql_query("SELECT DISTINCT( L.region), DISTINCT(L.departement), DISTINCT(L.ville), T.situation FROM TYPE_DE_LOCATION T, LOCALISATION L WHERE T.id = L.Id AND T.situation = 'bord_de_mer' ORDER BY L.region ASC");

...mais se ne marche pas ^^.
Comment dois-je procéder sur ce genre de requête pour que chaque résultat soit bien distinct svp ?
Merci


mahdivitche
WRInaute passionné
WRInaute passionné
 
Messages: 896
Inscription: Dim Jan 06, 2008 0:33

Message le Dim Aoû 31, 2008 16:11

il est trés difficile ( ou impossible ) de distinct 3 champ dans une table :
en prend par exemple :

region --- departement

regA --- de1
regB ---- de2
regC ---- de1
regD ---- de3

donc region a été distinct mais departement non même chose pour ville

la mielleur methode est du crée trois tables : region , table departement et table ville.


YoyoS
WRInaute accro
WRInaute accro
 
Messages: 3062
Inscription: Jeu Sep 14, 2006 4:53

Message le Dim Aoû 31, 2008 16:30

Sinon il y a toujours le GROUP BY avec lequel tu peux grouper les résultats identiques sur plusieurs champs. Mais je sais pas si dans ton cas tu peux l'utiliser.


tryan
WRInaute accro
WRInaute accro
 
Messages: 1499
Inscription: Dim Fév 20, 2005 14:14

Message le Dim Aoû 31, 2008 16:44

Ha, chiote ^^.
Vue que j'ai pas envie de me retaper la table, je vais faire sans 'DISTINCT'.
Donc un 'distinct' ne peut s'utiliser qu'une seule fois dans une requête ?
Merci de vos réponses


Bool
WRInaute accro
WRInaute accro
 
Messages: 1290
Inscription: Jeu Fév 26, 2004 15:59

Message le Dim Aoû 31, 2008 16:53

hello,

un truc a du m'échapper, mais pourquoi ne pas faire simplement ça :
Code: Tout sélectionner
SELECT distinct L.region, L.departement, L.ville, T.situation
FROM TYPE_DE_LOCATION T, LOCALISATION L
WHERE T.id = L.Id
AND T.situation = 'bord_de_mer'
ORDER BY L.region ASC


Chaque "ligne" sera distincte... ce n'est pas ce que tu cherches ?


YoyoS
WRInaute accro
WRInaute accro
 
Messages: 3062
Inscription: Jeu Sep 14, 2006 4:53

Message le Dim Aoû 31, 2008 17:13

Un distinct n'agit pas sur un champ, c'est normal. Il vire les lignes identiques pour qu'il n'en reste qu'une seule.
Evidemment si tu n'affiches qu'un champ, ligne = champ ;)


tryan
WRInaute accro
WRInaute accro
 
Messages: 1499
Inscription: Dim Fév 20, 2005 14:14

Message le Dim Aoû 31, 2008 17:28

J'ai déjà essayé Bool, mais sa m'affiche les doublons .
Suite à la requêtes, j'affiche 3 champs.

Merci quand même ^^.


Bool
WRInaute accro
WRInaute accro
 
Messages: 1290
Inscription: Jeu Fév 26, 2004 15:59

Message le Dim Aoû 31, 2008 17:31

Ok tryan, je n'ai vraiment rien compris de ce que tu cherchais à faire alors :P


tryan
WRInaute accro
WRInaute accro
 
Messages: 1499
Inscription: Dim Fév 20, 2005 14:14

Message le Dim Aoû 31, 2008 17:48

Je pense que tu as au contraire bien compris ^^.
Je voulais afficher de façon distincte les résultats des champs region, departement et ville mais visiblement compte tenue de la disposition de mes tables, la requête avec DISTINCT ne peut se faire.


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités