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 :

[SQL] Recherche sur 2 critères


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 80
    Par défaut [SQL] Recherche sur 2 critères
    Bonjour,

    J'ai une table avec des personnes ainsi que d'autres infos qui sont "pointés" tout les mois. Dans cette table une personne est pointé au mois de janvier, février, mars..... il existe autant de lignes que la personne est "pointé". Par contre au cours de l'année cette personne évolue dans la société. Ainsi elle peut être au niveau 1 pendant les 3 premiers mois et au niveau 2 à partir des mois suivants. Elle ne peut pas revenir en arrière.
    NOM / PRENOM / DATE_NAISSANCE / MOIS / ANNEE / NIVEAU
    NOM1 /PRENOM1 /01-01-1970 /1 /2008 /1
    NOM1 /PRENOM1 /01-01-1970 /2 /2008 /1
    NOM1 /PRENOM1 /01-01-1970 /3 /2008 /1
    NOM1 /PRENOM1 /01-01-1970 /4 /2008 /2
    NOM1 /PRENOM1 /01-01-1970 /5 /2008 /2
    NOM2 /PRENOM2 /02-01-1970 /1 /2008 /1
    NOM2 /PRENOM2 /02-01-1970 /2 /2008 /1
    NOM2 /PRENOM2 /02-01-1970 /3 /2008 /1
    Ce que je voudrais c'est requêter la personne qui a changé au cours de l'année.
    J'ai donc fait une requéte mais elle me donne toute les personne qui sont en 1 et 2. Moi je veux que celles qui ont changés dans la période.
    SELECT *
    FROM ma_table1
    WHERE NIVEAU IN (1,2)
    AND ANNEE = 2008

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Je te propose ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     SELECT nom, prenom, count(niveau) as changement
    FROM ma_table1
    WHERE ANNEE = 2008 
    HAVING changement > 1
    GROUP BY id_utilisateur
    Je te conseille plutot d'enregistrer l'id de la personne plutot que nom / prenom car si tu as des homonymes, ils vont se mélanger.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 80
    Par défaut
    Bonjour,

    Dans mon cas le niveau est 85 et 87 et il existe un niveau 86 que je ne veux pas requêté!!! Donc cela ne fonctionne pas avec >. Peut-on metrre autre chose ????

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Dans ma requete, on compte le nombre de niveau qu'a eu une personne.
    "HAVING changement > 1" c'est pour limiter aux personnes ayant eu plus d'un niveau.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 80
    Par défaut
    Rebonjour,

    Désolé mais je n'avais jamais employé cette commande. J'ai compris son fonctionnement dans ton 2 mail. Par contre j'ai une erreur sur "HAVING changement >1"
    ORA-00904: "CHANGEMENT" : identificateur non valide
    Je précise que j'utilise SQL tools pour faire mes requêtes.

    En fait il suffit de mettre des ' autour de "changement" et de "1" pour que cela fonctionne.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    c'est une base oracle ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. [XL-2007] Formulaire VBA Excel - recherche sur plusieurs critères et affichage des résultats
    Par kl1ft dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 29/08/2016, 20h44
  2. sql recherche sur plusieurs table / commande IN
    Par Tonio13006 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 22/05/2008, 14h29
  3. [VBA-SQL] Recherche sur *nom*
    Par GarsDuCalvados dans le forum Access
    Réponses: 13
    Dernier message: 22/02/2007, 11h17
  4. [MySQL/SQL Server] Sur quels critères choisir ?
    Par Essedik dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 08/03/2006, 09h05
  5. [PostGre SQL] Recherche sur un champs
    Par Cyberbob002 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 10/01/2006, 11h57

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