Bonjour,
Tout d'abord, sachez que je ne suis pas vraiment familier avec Oracle.

J'ai un souci avec une requette SQL sur une base Oracle 11gR2 .

J'ai deux tables, `table1` et `table2`.
Le but est de récupérer les personnes (identifié par `id_per` dans les deux tables) de `table1` dont le champ `GESTIONNAIRE` est égale à `someone`.

Mais, je dois filtrer ces résultats pour que seul les personnes (`id_per`) ayant, dans la `table2`, le champ `DATE_DE_FIN` non nul, soient retournés. Évidemment, sans doublons.

J'ai essayé, sans succès, cette requette. SQLDeveloper me dit qu'elle ne se termine pas correctement.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
SELECT DISTINCT * FROM (
    SELECT * FROM table1 WHERE table1.GESTIONNAIRE = 'someone'
  ) AS t1
  LEFT OUTER JOIN (
    SELECT * FROM table2 WHERE table2.DATE_DE_FIN IS NOT NULL
  ) AS t2
  ON t1.id_per = t2.id_per;
Si vous pouviez m'aidez sur ce point ou peut-être, me proposez une meilleur requette je vous en serais reconnaissant.

Merci d'avance!