begin process at 2010 03 20 02:09:25
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

DB2

 > 

Débutant(s)

 > 

Créer 2 colonne à partir des données d'une troisième


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Créer 2 colonne à partir des données d'une troisième

samedi 8 novembre 2008 à 10:28:21 | Créer 2 colonne à partir des données d'une troisième

pintux

Bonjour à tous,

J'ai une base dont une des colonnes contient des données de type dates, j'assaye de créer 2 nouvelles colonnes à partir des données de ces dates. J'ai besoin de créer une colonne ANNEE N et une colonne ANNEE N-1 afin de comparer des activités entre 2 années consécutives. Etant débutant, je rencontre des difficultés, pour aboutir à un tel résultat, j'ai essayé quelque chose de ce goût la :

Declare @pAnnee int

@pAnnée = '2008'

SELECT

Year(Date) 'ANNEE N'

FROM MyTable

WHERE  Year(Date) IN (@pAnnée)

 

UNION

 

SELECT

Year(Date) 'ANNEE N-1'

FROM MyTable

WHERE  Year(Date) IN (@pAnnée-1)

 

Mais visiblement Une seule colonne est crée (ANNNEE N), et cette dernière regroupe toute les années!!!

 

 

MERCI pour toute aide apportée

 

Philippe

samedi 8 novembre 2008 à 14:37:45 | Re : Créer 2 colonne à partir des données d'une troisième

hymnuade

Salut,

Ta requête contient un UNION ce qui implique l'association de plusieurs résultats de requêtes, donc la première colonne de ta première partie de requête correspondra à ta première colonne de seconde requête. En l'espèce, ANNEE N-1 dans ta seconde requête apparaître dans les résultats de ANNEE N.

Pour faire ce que tu veux, tu peux plutôt t'orienter vers :

Ta table contient 3 colonnes Date | Annee | Annee N-1
Si seul Date est remplie tu dis mettre les 2 autres colonnes à jour.
Si Anne et Annee N-1 sont des colonnes de type entier, par exemple

UPDATE MyTable SET Annee = DATEPART(year,Date), [Annee N-1] = DATEPART(year, Date) - 1

Ta table sera donc mise à jour.

Tu peux faire le -1 pour annee N-1 car DATEPART sur year te renvoie un numérique.
mercredi 12 novembre 2008 à 10:06:06 | Re : Créer 2 colonne à partir des données d'une troisième

pintux

Bonjour hymuade,

Ce que tu dis est  tout à fait exact, c'est pourquoi j'ai trouvé une solution de contournement par:

Year(DATE)'ANNEE N-1',

0 'ANNEE N',

Month(DATE)AS MOIS,

from MyTable WITH(NOLOCK)

whereYear(DATE)=@pAnnee-1

groupbyYear(DATE),Month(DATE)

UNION

select

0 'ANNEE N-1',

Year(DATE)'ANNEE N',

Month(DATE)AS MOIS,

from MyTable WITH(NOLOCK)

whereYear(DATE)=@pAnnee

groupbyYear(DATE_),Month(DATE)

 

ORDERBYYear(DATE)  DESC,Month(DATE)DESC;

Cela permet de répondre à la contrainte, qui était la création et le peuplement de 2 colonnes à partir d'une troisième colonne et en fonction des données extraient.

J'espère que cela pourra être utile à d'autres personnes, en tout cas merci pour tes remarques , toutes à fait judicieuses.

Cordialement

Philippe



Cette discussion est classée dans : créer, données, style, colonne, mso


Répondre à ce message

Sujets en rapport avec ce message

partager une application de base de données sql 2000 [ par reefi ] salut j'ai un problème qui consiste :<meta name="Originator" content="Micro Créée 2 nouvelles colonnes à partir des données d'une troisième [ par pintux ] <link rel="Fi Cohabitation sql 2005 express et sql 2000 [ par dede2644 ] <link rel="Fi Créer un enregistrement à partir de plusieurs [ par fredgil ] Bonjour,Pour transmettre certaines données de ma BDD vers celle d'un organisme partenaire, j'ai besoin de réorganiser mes données de la manière suivan Création d'une table à partir de plusieurs données et dates/heures [ par PatBlarg ] Bonjour, je cherche à créer une requête un peu spéciale. J'arrive quand même à obtenir mon résultat en faisant plusieurs petites requêtes que je trait Requete sur date (Master detail report) [ par Zachs ] <link rel="Fi projet fin d'etude connection base de donné dans un reseau [ par bibo01 ] <link rel="Fi Cours et exercices :Base de données [ par walidtheking1985 ] <link rel="Fi creer une colonne d'ordre dans une table [ par tayebrabehi ] salut ,J'ai une table MATABLE select * from matable;-----------------------------------------|   NOM       |    D_NSANCE    |------------------------- base de données géographique [ par moi1986 ] salutje veux utiliser PostgresSQL pour créer une base de données géographique.cette base contient ttes les proprietés d'une ville.Celà me sert pour de


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,061 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales