"select distinct" access doublons - Problèmes

cs_Fievet Messages postés 3 Date d'inscription jeudi 20 octobre 2005 Statut Membre Dernière intervention 20 octobre 2005 - 20 oct. 2005 à 13:45
vlaad Messages postés 79 Date d'inscription mardi 29 juin 2004 Statut Membre Dernière intervention 18 décembre 2006 - 21 oct. 2005 à 09:41
Bonjour,

J'ai un souci concernant une requete : je fais une selection sur un champ d'une table en utilisant le "distinct" => tout est OK qd j'utilise que ce seul champ. Si je complète ma requete avec un autre champ (qui possède des valeurs différentes pour chaque champ (du premier champ-distinct) => l'ensemble du resultat n'est pas celui escompté.
EX :
Table "Référence" = 2 champs : Ref et Dis
Il peut y avoir plusieurs référence identiques, mais des Dis différents.
EX :
Ref Dis
20050123 1
20050123 2
20050123 3
20050124 1
20050125 1
20050125 5
20050125 6
..........
J'aimerais avoir, svp, le query qui me donnera le résultat suivant :
20050123 1
20050124 1
20050125 1
> toujours une seule valeur pour REF et une seule valeur pour Dis (celle-ci n'a pas d'importance > que se soit la première occurence ou la dernière !)
Merci de votre prompte réponse
A+

5 réponses

vlaad Messages postés 79 Date d'inscription mardi 29 juin 2004 Statut Membre Dernière intervention 18 décembre 2006 3
20 oct. 2005 à 13:55
tu peux envoyer ta requete actuel stp??


Les programmeurs sont rois....Ceux qui ne croient pas en nous sont des fous...
0
cs_Fievet Messages postés 3 Date d'inscription jeudi 20 octobre 2005 Statut Membre Dernière intervention 20 octobre 2005
20 oct. 2005 à 16:24
SELECT DISTINCT (CLAIMS_CLM_CLAIM_DTL.CLM_CODE) AS Expr1, CLAIMS_CLM_CLAIM_DTL.CLM_STATUS, CLAIMS_CLM_CLAIM_DTL.CLM_LANG_CODE, CLAIMS_CLM_CLAIM_DTL.CLM_OPEN_DATE, CLAIMS_CLM_MST_TOPIC_LVL1.LVL1_DESC, CLAIMS_CLM_MST_TOPIC_LVL2.LVL2_DESCFROM ((CLAIMS_CLM_CLAIM_DTL INNER JOIN CLAIMS_CLM_CLAIM_TOPIC ON CLAIMS_CLM_CLAIM_DTL.CLM_CODE CLAIMS_CLM_CLAIM_TOPIC.TPC_CLM_CODE) INNER JOIN CLAIMS_CLM_MST_TOPIC_LVL2 ON CLAIMS_CLM_CLAIM_TOPIC.TPC_TOPIC_CODE CLAIMS_CLM_MST_TOPIC_LVL2.LVL2_CODE) INNER JOIN CLAIMS_CLM_MST_TOPIC_LVL1 ON CLAIMS_CLM_MST_TOPIC_LVL2.LVL2_LVL1_ID = CLAIMS_CLM_MST_TOPIC_LVL1.LVL1_ID
WHERE (((CLAIMS_CLM_CLAIM_DTL.CLM_STATUS)="OPEN" Or (CLAIMS_CLM_CLAIM_DTL.CLM_STATUS)="RE-OPEN") AND ((CLAIMS_CLM_CLAIM_DTL.CLM_OPEN_DATE) Between #8/16/2005# And #12/31/2005#));
Donc,
Il me donne ceci :



<CAPTION></CAPTION>

----

Expr1 |
CLM_STATUS |
CLM_LANG_CODE |
CLM_OPEN_DATE |
LVL1_DESC |
LVL2_DESC |

----

2005008137,
RE-OPEN,
FR,
22/08/2005,
BAGGAGE,
Misconnected baggage,
----

2005008137,
RE-OPEN,
FR,
22/08/2005,
BAGGAGE,
Partial loss or pilferage,
----

2005008138,
RE-OPEN,
EN,
22/08/2005,
BAGGAGE,
Misconnected baggage,
----

2005008146,
RE-OPEN,
EN,
22/08/2005,
BAGGAGE,
Loading / Off-loading of baggage,
----

2005008156,
RE-OPEN,
EN,
22/08/2005,
BAGGAGE,
Misconnected baggage,
----

2005008166,
OPEN,
EN,
22/08/2005,
BAGGAGE,
Damage to bag and/or contents,
----

2005008166,
OPEN,
EN,
22/08/2005,
BAGGAGE,
Misconnected baggage,
<TFOOT></TFOOT>

donc tout est pareil sauf LVL2_desc .....et je voudrais avoir une seule ligne pour un "EXPR1" qlq soit le contenu de LVL2 ...; volià ...
0
vlaad Messages postés 79 Date d'inscription mardi 29 juin 2004 Statut Membre Dernière intervention 18 décembre 2006 3
20 oct. 2005 à 16:29
Le seul moyen , dans ce cas est d'enlever l'affichage de LV2, car comme les champs différentent, c'est normal qu'ilte sorte plusieurs lignes....
Sa sélection est obligatoire pour l'utilisation que tu en as??


Les programmeurs sont rois....Ceux qui ne croient pas en nous sont des fous...
0
cs_Fievet Messages postés 3 Date d'inscription jeudi 20 octobre 2005 Statut Membre Dernière intervention 20 octobre 2005
20 oct. 2005 à 17:01
Merci de ta réponse, mais oui je dois au moins afficher la ligne avec un LVL2 ....
ça me prend la tête ....... :( ....
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vlaad Messages postés 79 Date d'inscription mardi 29 juin 2004 Statut Membre Dernière intervention 18 décembre 2006 3
21 oct. 2005 à 09:41
Tu devrai peut etre poser ta question sur www.SQLfr.com.
Il existe peut etre un moyen de faire ce que tu veux.
Amicalement...


Les programmeurs sont rois....Ceux qui ne croient pas en nous sont des fous...
0
Rejoignez-nous