Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Développement
Développement Forum d'entraide sur le Transact-SQL, le CLR, les procédures stockées, les triggers, les requêtes SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/04/2011, 15h41   #1
Nouveau Membre du Club
 
Inscription : juin 2005
Messages : 105
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : juin 2005
Messages : 105
Points : 36
Points : 36
Envoyer un message via MSN à cels
Par défaut Ajouter une colonne avec un increment suivant la valeur de 3 champs

Bonjour,

j'ai un petit soucis pour creer une vue. J'ai une table avec on va dire toutes mes info dedans, sauf une colonne que je veux generer.
Cette colonne doit contenir un integer qui s'incremente pour chaque nouvelle occurence d'un combinaison de 3 valeurs pour 3 champs definis.

Pour faire plus clair un exemple de ma table:
Code :
1
2
3
4
5
6
7
8
9
 
Champs1      Champs2       Champs3       Champs4        Champs5
Lille        FY11            Bougie          Client1           Actual
Paris        FY11            TABLE           Client2           Budget
Nantes      FY11            Bougie          Client2           Actual
Nantes      FY11            Bougie          Client3           Budget
Nantes     FY11            Bougie          Client4           Actual
Paris       FY10            TABLE           Client5           Budget
Lille        FY11            Bougie          Client5           Actual
Desole c un peu crade ma table. Bon en tout cas g ca, et donc je veux avoir un integer qui s'increment a partir de 1 pour chaque combinaison de champs1/champs2/champs3, de maniere a avoir ca :

Code :
1
2
3
4
5
6
7
8
9
 
Champs1      Champs2       Champs3       Champs4        Champs5    Champs6
Lille        FY11         Bougie       Client1        Actual        1
Paris        FY11         TABLE        Client2        Budget       1
Nantes      FY11         Bougie       Client2        Actual        1
Nantes       FY11         Bougie       Client3        Budget       2
Nantes      FY11         Bougie       Client4        Actual        3
Paris        FY10         TABLE        Client5        Budget       1
Lille        FY11         Bougie      Client5        Actual         2
J'espere que c clair, merci pour votre aide,

Cyril
cels est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 15h57   #2
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 953
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 953
Points : 17 773
Points : 17 773
Code :
1
2
SELECT *, ROW_NUMBER() OVER(PARTITION BY Col1, Col2, Col3 ORDER BY Col4, Col5) AS NUM
FROM   MaTable
A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/04/2011, 17h15   #3
Nouveau Membre du Club
 
Inscription : juin 2005
Messages : 105
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : juin 2005
Messages : 105
Points : 36
Points : 36
Envoyer un message via MSN à cels
Super merci ca marche !

Il me manquait le partition, merci encore !

Cyril
cels est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h42.


 
 
 
 
Partenaires

Hébergement Web