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 :

Probleme de date


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de Raptor92
    Homme Profil pro
    Directeur des opérations & Innovation
    Inscrit en
    Juin 2009
    Messages
    998
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur des opérations & Innovation
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 998
    Par défaut Probleme de date
    Bonjour ,

    Dans la requête ci dessous, j'obtiens des quantités de pièces selon leurs états d'arrivées, de préparations et d'expéditions et ceci en comparent deux saisons

    Mais je souhaite convertir la date en mois.
    J’ai d’abord écrit ceci qui ne fonctionne pas :

    Gsdate est une date (j’ai tenté avec chaîne)
    Gsdate..Mois=MOUV_DATE

    Et après SELECT « +gsdate+ » ……..mais rien

    Ensuite j’ai tenté SELECT « +dateVersMoisEnLettre(MOUV_DATE)+ » mais pas mieux

    Il y a-t-il un moyen, ou faut t’il que j’isole le mois de la date mais dans ce cas comment le faire apparaître en lettre pour à la finale obtenir ce résultat

    RECEP RH08 RECEP RH09 PREPA BL RH08 PREPA BL RH09 ………………..

    JANVIER 10200 12600 4300 4990…………………
    FEVRIER
    MARS

    Merci pour un petit coût de mains..............
    PS: Je développe ne SQL une application sans analyse

    Windows XP - WINDEV14 - SQL SERVER 2005


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    requete est une chaîne="SELECT MOUV_DATE, "+...
    "(SELECT SUM(MOUV_QUANTITE) FROM MOUVEMENTS M2, ARTICLES WHERE M1.MOUV_DATE=M2.MOUV_DATE AND M2.MOUV_ARTICLE=ART_CODE AND ART_COLLECTION='RE09' AND MOUV_CODE_MOUV='EDS' AND MOUV_EMPLACEMENT='R-RECEP') AS RECEP, "+...
    "(SELECT SUM(MOUV_QUANTITE) FROM MOUVEMENTS M2, ARTICLES WHERE M1.MOUV_DATE=M2.MOUV_DATE AND M2.MOUV_ARTICLE=ART_CODE AND ART_COLLECTION='RH09' AND MOUV_CODE_MOUV='EDS' AND MOUV_EMPLACEMENT='R-RECEP') AS RECEP, "+...
    "(SELECT SUM(M2.MOUV_QUANTITE) FROM MOUVEMENTS M2, CLIENTS, ARTICLES WHERE MOUV_ARTICLE=ART_CODE AND ART_COLLECTION='RE09' AND m2.MOUV_CODE_MOUV='PACK' AND m1.MOUV_DATE=m2.MOUV_DATE AND m2.MOUV_TIERS=CLIE_CODE) AS 'QTE PREP BL', "+...
    "(SELECT SUM(M2.MOUV_QUANTITE) FROM MOUVEMENTS M2, CLIENTS, ARTICLES WHERE MOUV_ARTICLE=ART_CODE AND ART_COLLECTION='RH09' AND m2.MOUV_CODE_MOUV='PACK' AND m1.MOUV_DATE=m2.MOUV_DATE AND m2.MOUV_TIERS=CLIE_CODE) AS 'QTE PREP BL', "+...
    "(SELECT SUM(M2.MOUV_QUANTITE) FROM MOUVEMENTS M2, ARTICLES, MAGASINS WHERE (m2.MOUV_CODE_MOUV='PACK' OR m2.MOUV_CODE_MOUV='REA') AND M2.MOUV_ARTICLE=ART_CODE AND ART_COLLECTION='RH09' AND m1.MOUV_DATE=m2.MOUV_DATE AND m2.MOUV_TIERS=MAG_STOCK) AS 'QTE PREP BT', "+...
    "(SELECT SUM(m2.MOUV_QUANTITE) FROM MOUVEMENTS m2, CLIENTS, ARTICLES WHERE m2.MOUV_CODE_MOUV='EXPE' AND m1.MOUV_DATE=m2.MOUV_DATE AND M2.MOUV_ARTICLE=ART_CODE AND ART_COLLECTION='RH09'AND m2.MOUV_TIERS=CLIE_CODE) AS 'QTE EXPE BL', "+...
    "(SELECT SUM(m2.MOUV_QUANTITE) FROM MOUVEMENTS m2, MAGASINS, ARTICLES WHERE m2.MOUV_CODE_MOUV='EXPE' AND m1.MOUV_DATE=m2.MOUV_DATE AND M2.MOUV_ARTICLE=ART_CODE AND ART_COLLECTION='RE09'AND m2.MOUV_TIERS=MAG_STOCK) AS 'QTE EXPE BT' "+...
    "FROM MOUVEMENTS M1 GROUP BY MOUV_DATE ORDER BY MOUV_DATE DESC "
    SI EnModeTest() ALORS Trace(requete)
    //Info("OK")
    SI SQLExec(requete,"REQ1") ALORS
           SQLTable("REQ1",TABLE_TDB_RH09)
    FIN
    Raptor92
    Dominique
    Aucune aide par MP, utilisez le forum.

    Mon guide du débutant pour apprendre à programmer en Java - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java


  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    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 144
    Par défaut
    Présentée telle-quelle votre requête est relativement illisible.
    Utilisez les jointures normalisées (INNER JOIN ... ON...) qui permettent de séparer les éléments de la jointure du filtre (qui reste dans la clause WHERE).

    Cette requête pourrait certainement être optimisée avec des CASE, mais cela demande un travail de réécriture important.
    L'idée est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT  groupe
        ,   SUM(CASE WHEN condition_1 THEN qte ELSE 0 END) AS tot_cond_1
        ,   SUM(CASE WHEN condition_2 THEN qte ELSE 0 END) AS tot_cond_2
        ,   ..
    FROM    matable
    GROUP BY groupe
    Et une fois qu'elle sera réécrite, vous verrez comme il est facile de la faire évoluer
    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.

  3. #3
    Membre éprouvé Avatar de Raptor92
    Homme Profil pro
    Directeur des opérations & Innovation
    Inscrit en
    Juin 2009
    Messages
    998
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Directeur des opérations & Innovation
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 998
    Par défaut RE...Date
    Bonjour et merci au Modérateur pour la réponse,

    Je vais tenter de ré-écrire mon code en fonction de cette piste.
    Pour autant cela ne me donnera pas la solution quant à convertir ma date en mois de l'année.

    Votre solution me permettra sans aucun doute d'obtenir une plus grande visibilité.

    Merci de votre aide quant à mon problème initiale

    Raptor92
    Raptor92
    Dominique
    Aucune aide par MP, utilisez le forum.

    Mon guide du débutant pour apprendre à programmer en Java - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java


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

Discussions similaires

  1. problemes de dates SQL PARADOX
    Par igs dans le forum Paradox
    Réponses: 5
    Dernier message: 05/07/2004, 18h35
  2. Problème de date
    Par rh0D'm@n dans le forum Modules
    Réponses: 3
    Dernier message: 11/05/2004, 15h16
  3. Probleme de date
    Par poufouille dans le forum Bases de données
    Réponses: 4
    Dernier message: 19/03/2004, 14h19
  4. probleme de date (toujours et encore des dates)
    Par Yannesco dans le forum SQL
    Réponses: 3
    Dernier message: 02/02/2004, 19h04
  5. Probleme de date
    Par danuz dans le forum XMLRAD
    Réponses: 3
    Dernier message: 24/09/2003, 15h57

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