Forum Clubic

[SQL] jointure toute simple... - mais je n'y arrive pas :/

Bonjour,

admettons que j’ai 2 tables _test1 et _test2 avec dans chacune d’elles un CodeOuvrage.
_test1.CodeOuvrage = 1,4,5,6,7,10

_test2.CodeOuvrage = 1,2,3,4,5,6,7,8,9,10

Comment faire pour n’obtenir que les résultats qui sont dans T2 mais pas dans T1.
Ca m’énerve, j’y suis depuis un moment, donc ce n’est ni INNER JOIN, ni LEFT, ni RIGHT JOIN…mais alors c’est quoi ?

le jeu de résultats que je veux obtenir serait :


2
3
8
9

Ca doit pourtant pas etre compliqué :confused:

Merci !

euh, avec une jointure je suis pas sur … mais avec une sous-requete :oui:


SELECT codeOuvrage
FROM _test2
WHERE codeOuvrage NOT
IN (
SELECT DISTINCT codeOuvrage
FROM _test1
)

c’est un inner :neutre:

edit : ah non tu veux l’inverse :paf:

pfff…bon je vais me cacher bien vite… :confused: :confused: :confused:

merci…

Bonjour,

Je te prierai de mettre le langage informatique dans le titre, tel que requis par la charte du forum programmation - pour une meilleure compréhension les uns des autres.

A lire :
http://www.clubic.com/forum/charte-du-foru…on-t306797.html

Pour éditer:
Suffit de cliquer sur ce bouton, dans ton message : http://www.clubic.com/forum/style_images/persoclubic/editer.gif

(note : ce message est un gros copier coller, ne pas répliquer derrière)

Salut!
Les requêtes imbriquées cay le mal, c’est super pas efficace, et tu peux le faire avec
une jointure externe. :o

SQL
[color=blue;font-weight:bold]select[/color] _test1.CodeOuvrage from _test1 left join _test2 on _test1.CodeOuvrage = _test2.CodeOuvrage

where _test2.CodeOuvrage is null;

Donc une jointure externe, de laquelle on exclut les éléments qui sont communs aux 2 tables (where is null), ne reste que les éléments qui manquent dans _test1.
:slight_smile: