Requete SQL SELECT DISTINCT doublon

labaude
Invité n'ayant pas de compte PHPfrance

15 sept. 2005, 17:39

Bonjour,

L'affichage de la requete ce dessous ne me convient pas. En effet, j'ai des doublons. La raison est simple dictionary_keywords.id est une clé unique. J'ai besoin de récupérer cette clé pour une utilisation ultérieur. Je souhaiterai appliquer le select distinct uniquement sur dictionary_keywords.label_fr Quelqu'un pourrai il m'aider. Je n'ai plus d'idée? Merci a vous.

Voici la requete :

Code : Tout sélectionner

SELECT DISTINCT dictionary_keywords.label_fr, dictionary_concepts.id_indices, dictionary_keywords.id FROM dictionary_keywords INNER JOIN dictionary_concepts ON dictionary_keywords.id_concepts = dictionary_concepts.id WHERE left(dictionary_keywords.label_fr,1)='"& u_letter &"' AND (((dictionary_concepts.id_indices)=1)) ORDER BY dictionary_keywords.label_fr;

Mammouth du PHP | 19672 Messages

15 sept. 2005, 17:54

Avec un jeu d'essai, j'aurais testé avant de te mettre ça, mais bon, voici une suggestion :

Code : Tout sélectionner

SELECT DISTINCT(dk.label_fr), dc.id_indices, dk.id FROM dictionary_keywords as dk, dictionary_concepts as dc WHERE dk.id_concepts = dc.id AND dk.label_fr = '"& u_letter &"' AND dc.id_indices = 1 GROUP BY dc.id_indices, dk.id ORDER BY dk.label_fr;
C'est quoi cett syntaxe '"& u_letter &"' :?:

J'ai ajouté un GROUP BY à cause du DISTINCT, c'est probablement ce qui manquait ? :-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

labaude
Invité n'ayant pas de compte PHPfrance

16 sept. 2005, 14:16

J'ai le message d'erreur suivant :

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][Pilote ODBC Microsoft Access] Vous avez essayé d'exécuter une requête ne comprenant pas l'expression spécifiée 'label_fr' comme une partie de la fonction d'agrégat.

labaude
Invité n'ayant pas de compte PHPfrance

16 sept. 2005, 15:12

Cette requête est utilisée dans une page en asp avec une base access.

Y a t'il une solution?