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 :

Requete ou procedure


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 5
    Par défaut Requete ou procedure
    bonjour à tous
    j’hésite entre deux solutions, alors vos opinions sont intéressantes à connaitre.
    j'ai un fichier contenant une date, un débit ou un crédit, un solde et je voudrais connaitre le nombre de jours débiteurs ou créditeurs par mois (pas le nombre de crédits ou débits). Peut-on faire ce calcul par une requête ou faut-il passer obligatoirement par une procédure.

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    Bonjour,

    Vous pouvez grouper par jour, puis faire un COUNT(DISTINCT LaColonneJour)

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 5
    Par défaut
    merci pour la réponse, mais si je ne me trompe pas cela va me donner le nombre de débits ou credits, pas le nombre de jour en débit ou crédit? en fait je voudrais savoir combien de jours le compte a été débiteur ou créditeur...

  4. #4
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    un jeu d'essai avec le résultat attendu aiderait à mieux comprendre ce que vous voulez et a vous faire une requête plus précise.

    mais sur le principe, quelque chose comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    SELECT 
        COUNT(DISTINCT DateCrediteur)  NbCrediteur,
        COUNT(DISTINCT DateDebiteur)  NbDebiteur
    FROM (
        SELECT 
             CASE WHEN (MAX(Solde) >= 0) THEN LaDate END  AS DateCrediteur
            ,CASE WHEN (MIN(Solde) < 0) THEN LaDate END  AS DateDebiteur
        FROM LaTable
        GROUP BY LaDate
    )AS  T

  5. #5
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    ou même plus simplement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        SELECT 
            COUNT(DISTINCT CASE WHEN Solde >= 0 THEN LaDate END ) AS NbCrediteur
            ,COUNT(DISTINCT CASE WHEN Solde < 0 THEN LaDate END ) AS NbDebiteur
        FROM LaTable

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 5
    Par défaut
    pour être plus précis, voila un exemple des données en entrée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    'compte', 'date', 'montant', 'solde'
    '57601903', '2012-09-28', '120.07', '5744.66'
    '57601903', '2012-09-28', '-1396.37', '4348.29'
    '57601903', '2012-09-28', '-51.00', '4297.29'
    '57601903', '2012-09-28', '-2500.00', '1797.29'
    '57601903', '2012-10-01', '276.96', '2074.25'
    '57601903', '2012-10-01', '434.23', '2508.48'
    '57601903', '2012-10-01', '769.58', '3278.06'
    '57601903', '2012-10-01', '-246.00', '3032.06'
    '57601903', '2012-10-01', '-601.88', '2430.18'
    '57601903', '2012-10-02', '-77.77', '2352.41'
    '57601903', '2012-10-02', '163.26', '2515.67'
    '57601903', '2012-10-03', '-430.07', '2085.60'
    '57601903', '2012-10-05', '-59.50', '2026.10'
    '57601903', '2012-10-05', '50.54', '2076.64'
    '57601903', '2012-10-05', '-0.24', '2076.40'
    '57601903', '2012-10-08', '-12.00', '2064.40'
    '57601903', '2012-10-09', '928.13', '2992.53'
    '57601903', '2012-10-09', '-50.00', '2942.53'
    '57601903', '2012-10-10', '-5.00', '2937.53'
    '57601903', '2012-10-10', '-49.00', '2888.53'
    le résultat que je souhaite obtenir :

    le nombre de crédit / mois
    le nombre de débit / mois
    le nombre de jours créditeur
    le nombre de jours débiteurs (en l’occurrence il n'y a en a pas puisque le solde est toujours positif.

    cela pourrait ressembler à cela (ne pas tenir compte des chiffres sans rapport avec l'exemple)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    'compte', 'annéemois', 'total credit', 'total debit', nbr_ jours crediteur', nb jour debiteur'
    '10342103', '201210', '1407133.62', '-2844348.75', '24', '7'
    '10342103', '201211', '1575158.12', '-1970370.50', '17', '13'
    '10342103', '201212', '2910644.75', '-1521128.25', '17', '14'
    '12262105', '201210', '84462.46', '-70421.10', '0', '31'
    en espérant être plus compréhensible dans ma demande.
    merci pour votre aide

Discussions similaires

  1. Transformer requete en procedure stoque
    Par mihaispr dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 10/11/2009, 09h52
  2. Requete dans procedure récursive.
    Par jcpas dans le forum WinDev
    Réponses: 6
    Dernier message: 25/10/2007, 14h11
  3. [Procedure stocké] Execution d'une requete
    Par duran2004 dans le forum SQL
    Réponses: 2
    Dernier message: 24/06/2005, 13h26
  4. [ORACLE][SQL] procedure sous delphi avec une requete SQL
    Par nivet dans le forum Bases de données
    Réponses: 2
    Dernier message: 17/11/2004, 13h43
  5. requete pour avoir CONTENU procedures stockees
    Par bmayer dans le forum MS SQL Server
    Réponses: 11
    Dernier message: 11/02/2004, 13h20

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