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

SQL Oracle Discussion :

SQL Comparaison date et COUNT [11g]


Sujet :

SQL Oracle

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2012
    Messages : 12
    Points : 9
    Points
    9
    Par défaut SQL Comparaison date et COUNT
    Bonjour,

    Actuellement je teste une requête SQL pour calculer la différences de jours entre deux lignes du résultats de la requête.

    Voici un exemple:

    Table 1
    ID Type Client Date
    1 Oxon 123 21.02.2013
    2 Neon 123 21.05.2013
    3 Roche 125 1.07.2013
    4 Oxon 125 08.02.2013
    5 Roche 126 07.02.2013

    J'aimerai calculer la différence entre la Date par client, donc que j'obtienne pour le client 123 la différence entre 21.02.2013 - 21-05-2013 en nombre de jours. Et le même résultat avec les valeurs du clients 125, 126.

    J'avoue que je ne sais pas comment commencer. J'ai tester avec DIFFDATE sans solution. A la fin il faudrait grouper par client afin d'avoir les résultats pour chaque client par exemple:

    Client Nb_Jour
    123 30
    125 80
    126 0 /0 car la deuxième date n’existe pas.

    Voila, je suis conscient que mes informations ne sont pas claires, mais je serais très reconnaissant à une petite aide pour débuter. Déjà est-il possible de comparer deux lignes dans un résultat?

    Merci d'avance.

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    bonjour,

    regardez du côté du group by : http://sqlpro.developpez.com/cours/sqlaz/ensembles/#L1

    date min/max par client

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2012
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    Bonjour,

    Merci pour le lien, j'ai étudié l'article. Le calcule de date me semble clair. Mais comment avec SQL pouvoir calculer deux dates dans une table dont le client est identique. En gros il faudrait comparer deux champs dans dans deux lignes différentes. Mais comment séparer ces valeurs qui ont finalement le même nom car la colonne a une appellation identique.
    WHERE ligne1.Client = ligne2.Client
    AND DIFFDATE(ligne1.date - ligne2.date) AS "Nb_JOUR"
    Je ne vois pas comment développer cette requête, je me demande si c'est vraiment possible... .

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    bah l'article traite justement du regroupement des valeurs.

    Etes-vous sur d'avoir lu le bon ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    select col_groupement, min(col_1), max(col_1)
    from ma_table
    group by col_groupement

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2012
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    Oui, je ne sais pas si j'ai bien compris. Mais j'ai testé. Mais y a rien à faire je n'arrive pas à me représenter le truc dans la tête. Dans les exemple, ils regroupent deux tables, et en effet calcule des taux mais avec deux colonnes différentes etc... . Dans mon cas j'ai toutes les informations dans un résultat. Je ne connais pas très bien le SQL, mais le procédé me semble logique en programmation. C'est comparer deux lignes qui ont le même ID afin de calculer la différence de jours.

  6. #6
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    select  Client, max(date) - min(date)
    from ma_table
    group by Client
    Par contre, ici on traite un ensemble de lignes.

    Du coup si vous avez plus de deux lignes par client, le min et le max seront executés sur cette ensemble globale.

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2012
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    Voila, je vais sur une autre piste. Je crée plusieurs vues et après je vais calculer les différence de jour avec les dates.Merci de votre aide. A bientôt.

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

Discussions similaires

  1. [AC-2007] requête SQL comparaison de dates avec IIF
    Par tibofo dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 24/09/2009, 15h30
  2. [Linq to Sql] Comparaison de dates
    Par Lennox dans le forum Accès aux données
    Réponses: 10
    Dernier message: 05/09/2008, 22h15
  3. [SQL] + comparaison de 2 dates
    Par toxycyty dans le forum SQL
    Réponses: 7
    Dernier message: 18/07/2008, 20h55
  4. comparaison date SQL Server 2005
    Par stephyugh dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 11/12/2007, 18h12
  5. [SQL] Comparaison d'une date au format FR avec la date du jour au format US
    Par delcada dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 22/10/2007, 15h22

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