Bonjour,
J'ai une base contenant deux tables sous Oracle 10g
une table question(ID_Question, ID_reponse)
et une table reponse(ID_reponse, texte)
Je souhaite obtenir le liste des question sans les doublons (sélection par le ID_question le plus ancien).
Un doublons est caractérisé par un élément ayant le même ID_reponse.
exemple:
si j'ai
question(1,2)
question(2,2)
alors question(2,2) est un doublon et ne doit pas sortir.
Pour faire ça j'ai fait:
seulement ça ne m'enlève qu'une valeur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 SELECT COUNT(table.ID) FROM ( (SELECT question.id_question FROM question, reponse WHERE question.id_reponse=reponse.id_reponse) MINUS (SELECT max(CR.id_question) FROM question, reponse WHERE question.id_reponse=reponse.id_reponse HAVING COUNT(*) > 1) ) table
Je n'arrive pas à trouver la façon de lister:
chaque question avec tous ses doublons et de ne pas prendre les autres en compte.
Je me suis inspiré de http://oracle.developpez.com/faq/?page=3-1#doublons
mais je n'arrive pas en une requete à effectuer cela sans passer par une table intermédiaire.
Quelqu'un aurait-il une idée, un petit conseil permettant de m'aiguiller dans ma recherche?
Je vous en remercie infiniment d'avance
Amicalement
gojira
Edit pour correction de l'algorithme
Partager