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 :

Problème très étrange...


Sujet :

Requêtes MySQL

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2002
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 36
    Points : 31
    Points
    31
    Par défaut Problème très étrange...
    Bonjour,

    Ca fait un bout de temps que je m'arache les cheveux sur cette requête

    Le but est de trouver les contacts dont le dernier événement à un rappel qui est null...

    A partir de 2 tables...

    contact (id)
    events (id, contact, date, recall)

    Donc j'en ai tiré (avec difficulté) la reqête suivante...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM contacts WHERE id IN (SELECT contact AS truc FROM events WHERE (SELECT recall FROM events WHERE contact = truc ORDER BY date DESC LIMIT 1) IS NULL);
    Mais elle me retourne un ensemble vide...

    Mais la partie étrange c'est que sans la requête la plus haute j'ai une liste d'identifiants de contacts.

    Si je rajoute la requete la plus haute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM contacts WHERE id IN
    alors l'ensemble est vide...

    Si quelqu'un y comprend quelque chose...

    Merci d'avance...

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 171
    Points : 70
    Points
    70
    Par défaut
    Salut,

    J'aurais juste fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select * from contacts where id in (select contact from events where recall is null order by date desc)
    Ta requete ne peux deja ps marcher puisque, si je me trompe pas, c'est le dernier select qui est fait en 1er, et apres, on remonte dans la requete. Du coup, contact = truc lui est inconnu.
    De plus, quand tu fais un "Select contacts as truc", ca veut dire que dans ta requete, la colonne contact va etre renommée en truc.

    Petit conseil, tu as une colonne id dans tes 2 tables, il vaudrait mieux que tu les appelles id_contact et id_events afin de les differencier clairement ou alors, precise les tables dans ta requete en mettant contact.id et events.id
    Et d'ailleurs, c'est bizarre cette table contact avec juste un id

    Enfin, jespere que ca t'auras aidé a avancer sur ta requete

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Bonjour,

    Et si les requêtes imbriquées ne fonctionnent pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Select contacts.id
    from contacts 
    left join events on contacts.id = events.id
    where recall is null 
    order by date desc

  4. #4
    Nouveau membre du Club
    Inscrit en
    Octobre 2002
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 36
    Points : 31
    Points
    31
    Par défaut
    La requête marche mais elle ne donne pas le bom résultat...

    J'ai peu être mal énnoncé ma question...

    J'ai des contacts (table contacts) qui ont des événements (tables events).
    Les événements ont une date de création et et une date de rappel. La date de rappel peut être null.

    Donc je souhaiterai récupérer les contacts dont le dernier événement de ce contact à une date de rappel qui est null...

    Sinon pour précision la table contacts ne contient pas que id...

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Une requête ne marche pas, mais éventuellement, elle fonctionne; (merci, Mr Fillon)

    Ensuite, je ne peux que te donner une piste car je ne connais pas le contexte, qui, au demeurant, ne m'intéresse pas.

    Tu pourrais regarder du côté de "max(leChampDate)" avec "group by id", et surtout lire le mode d'emploi :

    http://dev.mysql.com/doc/mysql/fr/index.html

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

Discussions similaires

  1. Problème très étrange
    Par bobyboby dans le forum GTK+ avec C & C++
    Réponses: 1
    Dernier message: 17/10/2008, 14h14
  2. Problème trés étrange
    Par laygen dans le forum ActionScript 1 & ActionScript 2
    Réponses: 0
    Dernier message: 09/08/2008, 17h05
  3. Problème très étrange !
    Par _SamSoft_ dans le forum Débuter
    Réponses: 3
    Dernier message: 15/09/2007, 17h44
  4. Réponses: 5
    Dernier message: 12/07/2007, 10h07
  5. problème très étrange avec mes tableaux
    Par lelutin dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/09/2006, 14h47

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