IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Problème avec NOT IN ? [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 44
    Points : 44
    Points
    44
    Par défaut Problème avec NOT IN ?
    Bonsoir à tous, j'ai un problème avec ma requête.

    J'ai 2 requêtes, la première me donne 280 résultats, et la 2ème m'en donne 290.

    J'aimerais afficher les 10 utilisateurs qui ne sont pas dans la 1ère requête.

    Pour cela j'utilise donc un NOT IN, mais en faisant ça, ca pète le serveur, serait-ce un problème de syntaxe ??


    voici ma requête :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    SELECT id_user, pseudo,
    PASSWORD , fin_abonnement, date_fin, site
    FROM utilisateur u, commande c, abonnement a
    WHERE u.id_user = c.id_utilisateur
    AND c.id_abo = a.id_abo
    AND u.sexe = 'h'
    AND (
    c.id_abo =5
    OR c.id_abo =6
    OR c.id_abo =41
    OR c.id_abo =7
    OR c.id_abo =8
    OR c.id_abo =9
    OR c.id_abo =10
    OR c.id_abo =29
    )
    AND c.valid_banque =1
    AND c.reconduction_CODEREPONSE = '00000'
    AND c.reconduction_date1 IS NOT NULL
    AND c.resiliation_date IS NULL
    AND date_fin >= NOW( )
    AND u.id_user NOT IN (
     
     
      SELECT id_user
      FROM utilisateur u, commande c, abonnement a
      WHERE u.id_user = c.id_utilisateur
      AND c.id_abo = a.id_abo
      AND u.sexe = 'h'
      AND (
      c.id_abo =5
      OR c.id_abo =6
      OR c.id_abo =41
      OR c.id_abo =7
      OR c.id_abo =8
      OR c.id_abo =9
      OR c.id_abo =10
      OR c.id_abo =29
      )
      AND c.valid_banque =1
      AND c.resiliation_date IS NULL
      AND date_fin >= NOW( )
    )

  2. #2
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 563
    Points : 2 390
    Points
    2 390
    Par défaut
    Que veux tu dire par "ça pete le serveur" ?

    Mais à priori ta requête est foireuse.
    La requête dans ton NOT IN contient moins de filtres que ta requête de base. Donc forcement elle va englober le résultat de ta première requête plus d'autres et tu aura toujours zéro résultat.

    Mais sinon je pense que tu n'as pas besoin de t'embêter. Cette requête devrais te renvoyer ce que tu cherches :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
      SELECT id_user
      FROM utilisateur u, commande c, abonnement a
      WHERE u.id_user = c.id_utilisateur
      AND c.id_abo = a.id_abo
      AND u.sexe = 'h'
      AND (
      c.id_abo =5
      OR c.id_abo =6
      OR c.id_abo =41
      OR c.id_abo =7
      OR c.id_abo =8
      OR c.id_abo =9
      OR c.id_abo =10
      OR c.id_abo =29
      )
      AND c.valid_banque =1
      AND (c.reconduction_CODEREPONSE <> '00000' OR c.reconduction_date1 IS NULL)
      AND c.resiliation_date IS NULL
      AND date_fin >= NOW()
    Zend Certified PHP Engineer

    « Crois-tu comprendre le monde juste en matant le 20H Ou connaître l'histoire en ayant lu que l'angle des vainqueurs ? » Keny Arkana

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 44
    Points : 44
    Points
    44
    Par défaut
    Merci ça marche !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème avec NOT IN
    Par mdr_cedrick dans le forum Langage SQL
    Réponses: 8
    Dernier message: 18/04/2008, 10h45
  2. Problème avec le not exists
    Par julrock dans le forum Langage SQL
    Réponses: 2
    Dernier message: 26/11/2007, 16h08
  3. Problème pour la Division avec NOT EXISTS
    Par myzu69 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 08/11/2007, 14h50
  4. [PHPMyAdmin]Problème avec "Not Null" dans mysql 5
    Par Ryan Sheckler dans le forum Requêtes
    Réponses: 4
    Dernier message: 15/12/2005, 14h45
  5. Réponses: 6
    Dernier message: 17/04/2005, 10h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo