|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Nouveau Membre du Club
![]() Inscription : mars 2010 Messages : 79 ![]() |
Bonjour à tous,
Ci-dessous, une requête que j'exécute depuis phpMyAdmin. Elle me pose problème lorsque MySQL ne retourne aucun enregistrement. Code :
Montant...Annee...Region ..25,4.......2003........3... ..17,5.......2004........3... Si je n'ai que des achats en 2003 pour le code 111, le tableau retourné ressemble à ça : Montant...Annee...Region ..25,4.......2003........3... Est-il possible d'ajouter une option à la requête SQL pour avoir un tableau du type : Montant...Annee...Region ..25,4.......2003........3... ....0.........2004........3... |
||
|
|
00
|
|
|
#2 | ||
![]() ![]() |
Il te faut une table des années et faire une jointure externe à partir de celle-ci.
De plus, il manque la somme dans ton SELECT ; là tu vas avoir l'un des montants de l'année au hasard. Dans la mesure où tu restreints à la région 3, pourquoi l'utiliser dans le regroupement ? Si la colonne Region et/ou la colonne CodeAch est de type numérique, inutile de mettre les valeurs cherchées entre apostrophe. J'ai quand même supposé ci-dessous qu'un code peut être alphanumérique mais que la région est son identifiant de type entier et auto-incrémenté dans la table des régions. COALESCE permet d'afficher le 0 au lieu de NULL quand il n'y a pas d'achat dans l'année. Code :
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : mars 2010 Messages : 79 ![]() |
Merci de ta réponse.
Je réagis tardivement, mais j'ai complètement revu mon approche de construction de la requête. Effectivement le champ "code" est alphanumérique, mais c'est aussi le cas du champ "region" et la restriction sur la région me servait uniquement pour visualiser rapidement le résultat, sinon ma requête portait sur plusieurs régions et je devais faire un regroupement après. De plus j'avais déjà une table externe avec les années, donc ça fonctionne avec la jointure et COALESCE. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com