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

Langage SQL Discussion :

requete S Q L


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    408
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 408
    Par défaut requete S Q L
    Bonjour,

    J'ai une table présentée comme ci dessous :

    ID | date deb | date fin | categ
    200|01/01/04 |01/03/04| P0
    200|02/03/04 |10/05/05| P0
    200|11/05/05 |30/08/05| C0
    200|31/08/05 |15/09/05| P0
    200|16/09/05 |17/12/05| C0
    200|18/12/05 | null | C0

    Je souhaiterais avoir la date de début de tous les ID qui ont une categ = C0.
    Il faudrait prendre la date de début de categ et non pas la derniere.
    Par exemple : l'ID 200 a commencé en categ C0 le 16/09/05.

    Pourriez vous m'aider svp.

    Merci

  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,

    quelque chose dans ce genre? :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select id, min(date)
    from table
    where categ='c0'
    group by id

  3. #3
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    408
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 408
    Par défaut
    salut,

    quelque chose dans ce genre? :

    Code :
    SELECT id, min(date)
    FROM TABLE
    WHERE categ='c0'
    GROUP BY id
    Euh je l'avais deja essayé mais le pb avec ce select c'est qu'il me renverrait ça :
    200|11/05/05
    au lieu de :
    200|16/09/05

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 136
    Par défaut
    C'est sans doute que, fonctionnellement, il y a d'autres éléments que la date qui entre dans la définition de la date de début de tous les ID qui ont une categ = C0, parce que techniquement la requête répond à la définition que tu nous as donnée
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  5. #5
    Membre Expert Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Par défaut
    Salut !

    Ton exemple :
    ID | date deb | date fin | categ
    200|11/05/05 |30/08/05| C0
    200|16/09/05 |17/12/05| C0
    Tu as 2 "C0" pour ID = 200.

    Cybher te propose dans sa requête de prendre le plus petit.
    Tu semble attendre l'autre : c'est parce que tu veux le plus grand ?
    Dans ce cas, remplace "min" par "max".
    Si tu as un autre critère de sélection, mets le dans la requête !

  6. #6
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    408
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 408
    Par défaut

    Salut !

    Ton exemple :

    Citation:
    ID | date deb | date fin | categ
    200|11/05/05 |30/08/05| C0
    200|16/09/05 |17/12/05| C0

    Tu as 2 "C0" pour ID = 200.

    Cybher te propose dans sa requête de prendre le plus petit.
    Tu semble attendre l'autre : c'est parce que tu veux le plus grand ?
    Dans ce cas, remplace "min" par "max".
    Si tu as un autre critère de sélection, mets le dans la requête !
    non dans cet exemple ce n'est pas le plus grand car tu as oublié la derniere ligne... et le max prendrait obligatoirement le dernier enregistrement.

    Je me suis dis est ce que l'on peu créer une sorte d'indice par l'intermédiaire du case when (ou autre fonction) qui permettrait de mettre en évidence le changement de "C0", "P0" mais voila le pb est comment...

    si vous avez un autre moyen je suis preneur...
    Pour ce qui concerne un autre critere de selection, dslé mais il n'y en a pas de fiable... (c'est de l'encodage , et j'ai reperé des erreurs...)


    Merci à ceux qui pourront m'aider.

Discussions similaires

  1. requete avec OBCD et visual c++
    Par Anonymous dans le forum MFC
    Réponses: 12
    Dernier message: 18/11/2004, 16h15
  2. Requete requête sous sybase
    Par eddie dans le forum Sybase
    Réponses: 3
    Dernier message: 02/04/2003, 14h51
  3. Paramètre requete SQL (ADOQuery)
    Par GaL dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/07/2002, 11h24
  4. Resultat requete SQL
    Par PierDIDI dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/07/2002, 13h43
  5. [Kylix] Requetes Kylix pour postgres
    Par Miltown dans le forum EDI
    Réponses: 1
    Dernier message: 29/05/2002, 20h22

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