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

Résolu
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

1 réponse

  1. 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
    1. 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
    2. Essaie ceci :
      SELECT s1.Matricule FROM s1
      INNER JOIN s2 ON s1.Matricule = s2.Matricule
      
      0
    3. @Reivax962Même resultat !
      0
    4. Contributeur
      @hidy0000et ceci?
      SELECT distinct s1.Matricule FROM s1
      INNER JOIN s2 ON s1.Matricule = s2.Matricule
      0
    5. 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