|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : août 2004 Messages : 2 ![]() |
Je suis novice dans l'art de poser des requêtes SQL (DB2)
J'ai le pb suivant: Dans une table j'ai par un N° client et son niveau de risque (nombre de 0 à 499) Exemple: N° Niv Risq 112011 001 145011 250 154012 315 Je souhaite connaître le nombre de mes clients par classe de risque. Classe 1 : 0<=Niv Risq<=99 Classe 2 : 100<=Niv Risq<=199 Classe 3 : 200<=Niv Risq<=399 Classe 4 : 400<=Niv Risq<=499 Quelle requête poser? D'avance merci SM |
|
|
00
|
|
|
#2 | ||||
|
Membre régulier
![]() Inscription : février 2003 Messages : 165 ![]() |
En définissant une colonne : Classe de risque.
Exemple: Code :
Classe 1 : 0<=Niv Risq<=99 Classe 2 : 100<=Niv Risq<=199 Classe 3 : 200<=Niv Risq<=399 Classe 4 : 400<=Niv Risq<=499 La requête sera alors : Code :
|
||||
|
00
|
|
|
#3 | ||
![]() ![]() |
En Sql tu peux aussi utiliser des fonctions
Code :
|
||
|
00
|
|
|
#4 |
|
Membre régulier
![]() Inscription : février 2003 Messages : 165 ![]() |
Ca ne marchera pas avec la classe 3 car elle comprend les niveaux de risque de 200 à 399.
Il va devoir être obligé de créer une 5° classe s'il ne veut pas créer une 3 colonne (classe de risque), soit : Classe 1 : 000<=Niv Risq<=099 Classe 2 : 100<=Niv Risq<=199 Classe 3 : 200<=Niv Risq<=299 Classe 4 : 300<=Niv Risq<=399 Classe 5 : 400<=Niv Risq<=499 Il faudra aussi mettre un 0 (zéro) devant la niveau de risque pour la classe 1. |
|
00
|
|
|
#5 |
![]() ![]() |
Oui exacte je n'avais pas fait attention. Il peut créer sa propre fonction mais c'est une autre histoire
|
|
00
|
|
|
#6 | ||
![]() ![]() |
Si le nombre de classe est réduit, il reste encore comme solution:
Code :
|
||
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : août 2004 Messages : 2 ![]() |
Merci pour toutes ces idées. Je pense que l'on ne peut pas utiliser GROUP BY avec une opération sur une colonne. Qu'en pensez vous?
|
|
|
00
|
|
|
#8 |
|
Membre régulier
![]() Inscription : février 2003 Messages : 165 ![]() |
Je viens de tester.
Apparement, ce n'est pas possible. |
|
00
|
|
|
#9 | ||||
|
Membre du Club
![]() Inscription : avril 2004 Messages : 54 ![]() |
Code :
Table N_RISQUE des niveaux de risque + Table C_RISQUE des classes de risque Une table RISQUE peut suffire si Niv_risq entre deux bornes numériques Classe_risq Libelle 99 classe 1 199 classe 2 999 Classe X Un NIV_RISQ ne pouvant etre créé dans client si une CLASSE_RISQ >= n'existe pas dans RISQUE Code :
|
||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com