Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

Messages recommandés

vlà la requete

 

SELECT distinct(media.id_media) FROM media, poss_media where media.id_media <> poss_media.id_media

 

vlà le contenu des tables

media :

id media

1

2

3

 

poss_media

1

3

 

logiquement je devrais récuperer 2, ben non je récupère 2 puis 1 puis 3

 

si je met un "not in" j'ai une "erreur de syntaxe blablabla"

 

est ce que quelqu'un aurait une suggestion ???

Partager ce message


Lien à poster
Partager sur d’autres sites

Il n'y a aucun bug ici. Le résultat est tout ce qu'il y a de plus logique.

Lorsque id_media = 1 et que poss_media = 3, la clause WHERE est vérifiée et donc 1 est renvoyé...

 

Regarde si tu peux faire un MINUS de deux resultsets, ou sinon tu peux tenter les requêtes suivantes :

SELECT DISTINCT(media.id_media)
  FROM media
 WHERE NOT EXISTS
      (SELECT 1 FROM poss_media
        WHERE poss_media.id_media = media.id_media);

ou

SELECT DISTINCT(media.id_media)
  FROM media
 WHERE media.id_media NOT IN
      (SELECT poss_media.id_media FROM poss_media);

Après, il faut voir si MySQL support les opérateurs MINUS, EXISTS, IN et les sous-requêtes.

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

  • En ligne récemment   0 membre est en ligne

    Aucun utilisateur enregistré regarde cette page.

×