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

Requêtes MySQL Discussion :

JOIN ???


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2005
    Messages : 10
    Par défaut JOIN ???
    Bonjour à tous,

    Je souhaite marquer les enregistrements d'une table de prospect dont l'adresse e-mail est revenue en défaut.
    Dans ma table principale (p_entrep), l'adresse e-mail s'apelle adremail et est un varchar(100) indexé. le champ flag est accept_mails, varchar(1), mis par défaut à "O". Volume de la table 11361 enr.
    J'ai une table des adresse e_mail rejetées où l'adresse e-mail s'apelle aussi adremail et est aussi un varchar(100) indexé. Volume de la table 132 enr.

    Je fais :
    UPDATE p_entrep,ln_refuse SET p_entrep.accept_mails="N" WHERE p_entrep.adremail = ln_refuse.adremail
    J'obtiens :
    QUery OK (bien) 0 enregistrements (moins bien).
    En réalité il y a 9 enregistrement ayant adremail commun aux deux tables.

    Je me dit que je n'ai pas correctement écrit ma jonction, je la vérifie en select en tapant :
    SELECT p_entrep.adremail FROM p_entrep,ln_refuse WHERE p_entrep.adremail = ln_refuse.adremail
    J'obtiens à nouveau le même résultat, cad :
    Query OK, 0 enregistrements.

    N'obtenant pas mes 9 enr, je tente :
    EXPLAIN SELECT p_entrep.adremail FROM p_entrep,ln_refuse WHERE p_entrep.adremail = ln_refuse.adremail
    il me répond :

    1 simple ln_refuse index adremail 100 NULL
    1 simple p_entrep ref adremail 101 mo_db.lnrefuse.adremail

    132 unsing index
    5 Using where

    Que je n'arrive pas à interpréter.
    Pourquoi ne lit-il que 5 ligne de ma table principale ?
    Où ais-je loupé qlq chose ?

    Merci par avance pour votre aide et votre soutien

  2. #2
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Par défaut
    salut

    si tu as une version>=4.1, essaie ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UPDATE p_entrep SET accept_mails="N" WHERE adremail in (select  adremail from  ln_refuse)

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2005
    Messages : 10
    Par défaut
    V 4.1.9
    Désolé, mais ta proposition en fonctionne tjrs pas. PhPMyAdmin ne me signale pas d'erreur mais ne me présente aucun enregistrement.

    En précision :
    J'ai fait une boucle qui fait des updates simple en scannant le fichier des emails defectueux. C'est le résultat de cette boucle qui me dit qu'il y en a 9.

Discussions similaires

  1. Mysql Inner join
    Par ..:: Atchoum ::.. dans le forum Requêtes
    Réponses: 3
    Dernier message: 25/10/2007, 12h21
  2. Pas de JOIN sous Oracle (vraiment dommage...)
    Par Isildur dans le forum Langage SQL
    Réponses: 7
    Dernier message: 15/03/2007, 11h28
  3. Non coincident MySQL (Left Join)
    Par Remiguel dans le forum Requêtes
    Réponses: 6
    Dernier message: 03/11/2003, 21h25
  4. Réponses: 5
    Dernier message: 04/08/2003, 21h50
  5. Export d'une vue avec LEFT JOIN
    Par schnourf dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 22/05/2003, 13h57

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