Autojointure oracle

Résolu
dev_man Messages postés 83 Date d'inscription   Statut Membre Dernière intervention   -  
dev_man Messages postés 83 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

j'ai une table définit comme suit :

CREATE TABLE chercheurs (id_c INTEGER NOT NULL PRIMARY KEY,
nom_c VARCHAR(20),
salaire FLOAT,
ville VARCHAR(20)
);

et remplie avec les données suivantes :

INSERT INTO chercheurs VALUES (1,'Dupont',35000, 'Brest');
INSET INTO chercheurs VALUES (2,'Dupond',40000, 'Brest');
INSERT INTO chercheurs VALUES (3,'Durand',42000, 'Paris');
INSERT INTO chercheurs VALUES (4,'Durant',40000, 'Paris');
INSERT INTO chercheurs VALUES (5,'Dumont',40000, 'Paris');

la question est la suivante :

chercheurs qui habitent dans la même ville et qui ont le même salaire ?

8 réponses

jee pee Messages postés 41519 Date d'inscription   Statut Modérateur Dernière intervention   9 720
 
Salut,

Sur le principe nous aidons les intervenants sur CCM. Mais nous ne réalisons pas leurs devoirs à leur place.

Tu nous proposes quoi comme solution à la question ?

cdlt

0
dev_man Messages postés 83 Date d'inscription   Statut Membre Dernière intervention   2
 
ma solution c'était d'utiliser une auto-jointure, mais le problème n'est pas encore résolu :

select nom_c from chercheurs c1, chercheurs c2 where c1.ville= c2.ville and c1.salaire and c2.salaire;

qu'est ce tu propose comme solution toi ?
0
jee pee Messages postés 41519 Date d'inscription   Statut Modérateur Dernière intervention   9 720
 
Tu ne t'ai pas foulé : and c1.salaire and c2.salaire; ça ne veut rien dire et n'a aucune chance de fonctionner.
0
dev_man Messages postés 83 Date d'inscription   Statut Membre Dernière intervention   2
 
and c1.salaire = c2.salaire, faut juste remplacer le deuxieme " and " par " = " et ça fonctionne pas tjrs...
0

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

Posez votre question
jee pee Messages postés 41519 Date d'inscription   Statut Modérateur Dernière intervention   9 720
 
Peut être en rajoutant

select c1.nom_c from chercheurs c1, chercheurs c2
where c1.ville= c2.ville
and c1.salaire = c2.salaire
and c1.id_c != c2.id_c
0
dev_man Messages postés 83 Date d'inscription   Statut Membre Dernière intervention   2
 
mais pourquoi le " c1.id_c != c2.id_c " ??
0
jee pee Messages postés 41519 Date d'inscription   Statut Modérateur Dernière intervention   9 720
 
Déjà est-ce que cela fonctionne ou pas ?
0
dev_man Messages postés 83 Date d'inscription   Statut Membre Dernière intervention   2
 
Ca fonctionne oui: mais pk ça doit être comme ca, parce que je n'arrive pas à voir l'interet
0
jee pee Messages postés 41519 Date d'inscription   Statut Modérateur Dernière intervention   9 720
 
Parce que si tu ne mets pas c1.id_c != c2.id_c comme s'est une auto jointure sur une même table, pour un chercheur il y aura toujours quelqu'un répondant à la question même ville, même salaire : lui ;-)
0
dev_man Messages postés 83 Date d'inscription   Statut Membre Dernière intervention   2
 
Eeeet Oui d'acc Merci jee pee :D
0