Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/12/2007, 17h36   #1
Membre chevronné
 
Avatar de shaun_the_sheep
 
Homme
Chef de projet NTIC
Inscription : octobre 2004
Messages : 1 149
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Chef de projet NTIC
Secteur : Enseignement

Informations forums :
Inscription : octobre 2004
Messages : 1 149
Points : 605
Points : 605
Par défaut [SQL - Oracle 9i] Requete Sql avec filtre sur critere

Bonjour,

J'ai une table SQL qui peut contenir plusieurs lignes de personne avec un critere , ce critere peut prendre la valeur A ou B. Je peux avoir une à deux lignes par individu soit:
Citation:
TOTO A
TITI B
TUTU A
TUTU B
Je cherche un filtre ou autre qui me permettrait d'avoir :
Citation:
TOTO A
TITI B
TUTU B
Le but etant de recuperer si j'ai deux lignes pour un individu la ligne avec le critere B uniquement , si je n'ai qu'une ligne je prend ce qu'il y a soit A ou B

Merci
shaun_the_sheep est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2007, 17h47   #2
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Conseil

Informations forums :
Inscription : janvier 2004
Messages : 2 866
Points : 3 448
Points : 3 448
Tout simplement :
Code :
1
2
3
SELECT personne, max(critere)
FROM maTable
GROUP BY personne;
__________________
Un problème sans solution est un problème mal posé

Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2007, 18h00   #3
Membre chevronné
 
Avatar de shaun_the_sheep
 
Homme
Chef de projet NTIC
Inscription : octobre 2004
Messages : 1 149
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Chef de projet NTIC
Secteur : Enseignement

Informations forums :
Inscription : octobre 2004
Messages : 1 149
Points : 605
Points : 605
Disons que ma requete renvoie d'autre attribut qui different d'une ligne à l'autre comme une adresse etc ....

le regroupement ne semble pas convenir

Merci
shaun_the_sheep est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2007, 08h45   #4
Membre chevronné
 
Avatar de shaun_the_sheep
 
Homme
Chef de projet NTIC
Inscription : octobre 2004
Messages : 1 149
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Chef de projet NTIC
Secteur : Enseignement

Informations forums :
Inscription : octobre 2004
Messages : 1 149
Points : 605
Points : 605
Bonjour,

Merci plaineR pour l'idée, je suis parti de la pour trouver une solution à mon problème.
C'est peut être pas optimum mais cela fonctionne:

soit:

Code :
1
2
3
4
5
SELECT champ1,
          champ2,
          ....
FROM maTable a
WHERE critere IN (SELECT max(critere) FROM maTable b WHERE b.id_tableB=a.id_Table)
.......

Merci
shaun_the_sheep est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h24.


 
 
 
 
Partenaires

Hébergement Web