Multiples DISTINCT dans une requête..possible ?

WRInaute passionné
Salut,

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

Code:
$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:
$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
 
WRInaute impliqué
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.
 
WRInaute accro
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.
 
WRInaute passionné
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
 
WRInaute passionné
hello,

un truc a du m'échapper, mais pourquoi ne pas faire simplement ça :
Code:
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 ?
 
WRInaute accro
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 ;)
 
WRInaute passionné
J'ai déjà essayé Bool, mais sa m'affiche les doublons .
Suite à la requêtes, j'affiche 3 champs.

Merci quand même ^^.
 
WRInaute passionné
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.
 
Discussions similaires
Haut