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

MS SQL Server Discussion :

MAJ d'une colonne en fonction d'une date


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2011
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 44
    Par défaut MAJ d'une colonne en fonction d'une date
    Bonjour à tous,

    JE suis sous sql server 2000 et je souhaite écrire une procédure qui me permette de MAJ une colonne d'une table en fonction du mois d'une autre table je m'explique:

    Via un lot DTS j'intègre un fichier plat dans une table 'tbl_temp' que je reçois mensuellement qui contient entre autre les champs suivants:

    - N° de compte : format bigint
    - Date extraction : format datetime (Champ date qui possède la même date pour les enregistrement de la table)
    - solde : format money

    D'un autre côté j'ai créé une autre table 'solde' contenant les champs suivants:

    - N° de compte : format bigint
    - Janvier : Money
    -Février : Money
    -Mars : Money
    - Avril : Money ...

    Je souhaiterais par exemple que si le fichier plat contient les données de Mai alors mettre à jour la colonne de mai de la table solde en fonction des n° de comptes presents.

    J'espère avoir été assez clair. J'ai peut être mal cherché sur le forum mais je n'ai pas trouvé d'info qui me permette d'avancer sur ce sujet.

    Merci en tout cas pour votre aide.

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Octobre 2008
    Messages : 699
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    UPDATE <Table>
    SET <Colonne> = (CASE '' WHEN '')
    WHERE <Clause where>
    ça devrait le faire

  3. #3
    Membre averti
    Inscrit en
    Février 2011
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 44
    Par défaut
    Merci pour ton aide mais ta réponse ne répond pas à mon problème. En fait dans le requête la colonne est variable est fonction du mois récupérer de ma table source.
    Exemple :

    Admettons que mon ma table 'tbl_temp' contiennent les soldes de janvier alors la requête qui doit être généré en automatique est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    UPDATE <Table>
    SET janvier = le champ solde de la table 'tbl_temp'
    WHERE <Clause where>
    si les soldes sont des soldes de Avril alors la requête est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    UPDATE <Table>
    SET Avril = le champ solde de la table 'tbl_temp'
    WHERE <Clause where>
    ...
    J'espère que je suis assez sinon n'hésitez et merci encore pour votre aide

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2008
    Messages
    699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Octobre 2008
    Messages : 699
    Par défaut
    Citation Envoyé par jobe3141 Voir le message
    ... ta réponse ne répond pas à mon problème...
    Si mais faut lire entre les lignes

    Du doit avoir un set pour chaque colonne et dans les case tu test pour savoir si tu le met a jour ou non. Si tu la met pas a jour tu lui renvoi sa propre valeur.

  5. #5
    Membre Expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Par défaut
    Le problème, comme souvent vient d'une modélisation execrable:

    Votre table solde est une calamité et devrait être modélisé au pire ainsi:

    N° compte | Mois |Solde
    00000123 1 1236
    00000123 2 2145

    Ainsi plus de problème de mise à jour a la c....

Discussions similaires

  1. Trier une colonne en fonction d'une autre colonne
    Par Joelatack dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 11/06/2012, 14h27
  2. [Toutes versions] Incrémenter une colonne en fonction d'une autre
    Par simon17 dans le forum VBA Access
    Réponses: 9
    Dernier message: 03/11/2010, 16h27
  3. [XL-2003] Compter valeurs d'une colonne en fonction d'une autre colonne
    Par greggy dans le forum Excel
    Réponses: 2
    Dernier message: 03/11/2009, 12h51
  4. Somme d'une colonne en fonction d'une autre
    Par j.mathieu dans le forum Excel
    Réponses: 6
    Dernier message: 16/08/2008, 14h55
  5. Contraite NULL sur une colonne en fonction d'une autre colon
    Par speedy1496 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 25/04/2004, 19h29

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