Précédent   Forum des professionnels en informatique > Bases de données > Firebird > SQL
SQL Forum d'entraide sur le SQL pour Firebird
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 31/12/2011, 13h02   #1
Membre éclairé
 
Homme Adel SOUFI
Ingénieur d'étude
Inscription : décembre 2010
Messages : 257
Détails du profil
Informations personnelles :
Nom : Homme Adel SOUFI
Âge : 28
Localisation : Algérie

Informations professionnelles :
Activité : Ingénieur d'étude
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : décembre 2010
Messages : 257
Points : 314
Points : 314
Envoyer un message via MSN à adelneo
Par défaut Trier le résultat des requêtes liées par UNION

Bonjour,
J'ai la requête suivante
Code :
1
2
3
4
 
SELECT cout FROM consommations /**lister les couts**/
UNION ALL SELECT SUM(0)*NULL FROM consommations /**pour avoir une ligne vide de séparation**/
UNION ALL SELECT SUM(cout) FROM consommations /**pour avoir le total des coûts**/
Comment faire pour trier la liste des coûts en gardant toujours la ligne vide de séparation et la ligne du total à la fin de la liste ?
adelneo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/12/2011, 18h01   #2
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 029
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 11 029
Points : 18 331
Points : 18 331
Envoyer un message via MSN à CinePhil
Bizarre ton truc !

1) Tu cherches à faire de la présentation de données, ce qui n'est pas le boulot du SGBD mais celui du logiciel qui l'interroge.

2) Tu listes les coûts à partir de la colonne "cout" et tu en fais le total en faisant la somme de la colonne "conso_l" !
Je crains que ta somme ne soit pas l'addition des coûts figurant au-dessus !

Essaie ceci :
Code :
1
2
3
4
5
6
7
8
9
SELECT 'Coût' AS Libelle, cout
FROM consommations /**lister les couts**/
UNION ALL 
SELECT 'Séparateur', SUM(0)*NULL 
FROM consommations /**pour avoir une ligne vide de séparation**/
UNION ALL 
SELECT 'Total', SUM(conso_l) 
FROM consommations /**pour avoir le total des coûts**/
ORDER BY Libelle, cout
__________________
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 !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 31/12/2011, 18h11   #3
Membre éclairé
 
Homme Adel SOUFI
Ingénieur d'étude
Inscription : décembre 2010
Messages : 257
Détails du profil
Informations personnelles :
Nom : Homme Adel SOUFI
Âge : 28
Localisation : Algérie

Informations professionnelles :
Activité : Ingénieur d'étude
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : décembre 2010
Messages : 257
Points : 314
Points : 314
Envoyer un message via MSN à adelneo
Citation:
Envoyé par CinePhil Voir le message
Bizarre ton truc !

2) Tu listes les coûts à partir de la colonne "cout" et tu en fais le total en faisant la somme de la colonne "conso_l" !
Je crains que ta somme ne soit pas l'addition des coûts figurant au-dessus !
c'était une erreur de frappe, je l'ai corrigé.

Votre solution est impeccable, merci encore.
adelneo 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 08h43.


 
 
 
 
Partenaires

Hébergement Web