Autojointure oracle

Résolu/Fermé
dev_man Messages postés 83 Date d'inscription dimanche 30 octobre 2011 Statut Membre Dernière intervention 29 avril 2013 - 16 oct. 2012 à 17:11
dev_man Messages postés 83 Date d'inscription dimanche 30 octobre 2011 Statut Membre Dernière intervention 29 avril 2013 - 19 oct. 2012 à 14:15
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 40591 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 24 décembre 2024 9 462
16 oct. 2012 à 18:34
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 dimanche 30 octobre 2011 Statut Membre Dernière intervention 29 avril 2013 2
17 oct. 2012 à 10:22
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 40591 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 24 décembre 2024 9 462
17 oct. 2012 à 18:46
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 dimanche 30 octobre 2011 Statut Membre Dernière intervention 29 avril 2013 2
18 oct. 2012 à 09:53
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 40591 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 24 décembre 2024 9 462
18 oct. 2012 à 11:00
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 dimanche 30 octobre 2011 Statut Membre Dernière intervention 29 avril 2013 2
18 oct. 2012 à 16:15
mais pourquoi le " c1.id_c != c2.id_c " ??
0
jee pee Messages postés 40591 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 24 décembre 2024 9 462
18 oct. 2012 à 16:54
Déjà est-ce que cela fonctionne ou pas ?
0
dev_man Messages postés 83 Date d'inscription dimanche 30 octobre 2011 Statut Membre Dernière intervention 29 avril 2013 2
19 oct. 2012 à 12:29
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 40591 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 24 décembre 2024 9 462
19 oct. 2012 à 12:51
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 dimanche 30 octobre 2011 Statut Membre Dernière intervention 29 avril 2013 2
19 oct. 2012 à 14:15
Eeeet Oui d'acc Merci jee pee :D
0