Partage
  • Partager sur Facebook
  • Partager sur Twitter

[mySQL] Double clause WHERE

Sujet résolu
    13 janvier 2011 à 14:01:04

    Bonjour,

    Je sollicite vos connaissances afin de m'aider à résoudre un petit problème :

    Prenons l'exemple d'une table avec dedans deux champs :

    login | date_de_creation

    Je souhaiterai faire une requête de ce genre :

    SELECT COUNT(login) 
    FROM ma_base 
    WHERE date_de_creation = "2010-10-01" 
    AND id IN (
    SELECT login FROM ma_base WHERE date_de_creation = "2010-10-02"
    )
    


    Cependant je ne crois pas que cela marche, mais je n'ai pas encore trouvé le moyen de construire une requête qui pourrai m'emmener au même résultat.

    J'avais bien une ébauche de requête en utilisant un CREATE TEMPORARY TABLE mais je préfèrerai faire ça en une seule requête :

    CREATE TEMPORARY TABLE temp SELECT login
    FROM datawarehouse
    WHERE date_de_creation
    BETWEEN "2010-10-01"
    AND "2010-10-31"
    GROUP BY login;
    
    SELECT COUNT(ma_base.login)
    FROM ma_base, temp
    WHERE ma_base.login = temp.login
    AND date_de_creation
    BETWEEN "2010-11-01"
    AND "2010-11-31"
    GROUP BY ma_base.login;
    


    Le but étant de trouver tous les logins qui apparaissent dans ma table à la fois entre le 1er et le 31 novembre, mais aussi entre le 1er et le 30 octobre (et donc de les compter)

    Quelqu'un aurait-il une idée ?

    Merci d'avance.


    /!\ Résolu avec un INNER JOIN en fait, je les avais oublié ceux là :)
    • Partager sur Facebook
    • Partager sur Twitter

    [mySQL] Double clause WHERE

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown