Dans une rquette sql, Avec quoi je peux remplacer INTERSECT ?

Résolu/Fermé
hidy0000 Messages postés 15 Date d'inscription lundi 6 mars 2017 Statut Membre Dernière intervention 11 décembre 2017 - Modifié par hidy0000 le 8/03/2017 à 23:31
hidy0000 Messages postés 15 Date d'inscription lundi 6 mars 2017 Statut Membre Dernière intervention 11 décembre 2017 - 10 mars 2017 à 10:51
Bonsoir,

J'utilise sql sever 2000 alors je ne peux pas utilisé INTERSECT .. avec quoi je peux la.remplacer ... donner moi un petit exemple SVP

MERCI D'AVANCE
A voir également:

1 réponse

Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
9 mars 2017 à 10:56
Bonjour,

Pourrais-tu expliquer exactement le résultat que tu souhaites obtenir ?
En général on peut s'en sortir avec des INNER JOIN, de la façon suivante :
SELECT a.A, a.B FROM a
INTERSECT
SELECT b.A, b.B FROM b

Me paraît équivalent à
SELECT a.A, a.B FROM a
INNER JOIN (SELECT b.A, b.B FROM b) as t ON t.A = a.A AND t.B = a.B


Xavier
0
hidy0000 Messages postés 15 Date d'inscription lundi 6 mars 2017 Statut Membre Dernière intervention 11 décembre 2017
9 mars 2017 à 12:18
Bonjour xavier , merci pour votre reponse .. mais ca marche pas .
J.ai une table des etudiants qui ont eu leur s1 et une autre pour ceux qui ont eu leur s2 je doit avoir l'intersection pour avoir ceux qui ont eu leur année
Les tables contiennent matricule ,année d'etude ,sex voila
Le resultat de votre requête retourne 52000 row mais les deux premières table contiennent maximum 28000 row .. voila !
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
9 mars 2017 à 12:27
Essaie ceci :
SELECT s1.Matricule FROM s1
INNER JOIN s2 ON s1.Matricule = s2.Matricule
0
hidy0000 Messages postés 15 Date d'inscription lundi 6 mars 2017 Statut Membre Dernière intervention 11 décembre 2017 > Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021
9 mars 2017 à 20:11
Même resultat !
0
yg_be Messages postés 22696 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 avril 2024 1 471 > hidy0000 Messages postés 15 Date d'inscription lundi 6 mars 2017 Statut Membre Dernière intervention 11 décembre 2017
9 mars 2017 à 20:53
et ceci?
SELECT distinct s1.Matricule FROM s1
INNER JOIN s2 ON s1.Matricule = s2.Matricule
0
hidy0000 Messages postés 15 Date d'inscription lundi 6 mars 2017 Statut Membre Dernière intervention 11 décembre 2017
Modifié par hidy0000 le 9/03/2017 à 23:36
SELECT s1.Matricule FROM s1
INNER JOIN s2 ON s1.Matricule = s2.Matricule  and s1.ocode=s2.ocode 
//..... ici je pence que je doit preciser toutes les colones qui existe dans les tables s1 et s2 

j'ai tester et ça donne un résultat plus logique mais je ne sais pas si c'est juste ou pas !</code>
0