Requête SQL

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Requête SQL

par dick-perron » 26 févr. 2007, 15:57

Désolé, c'est un oubli! Je comprends l'importance de l'afficher et je l'affiche toujours. Merci pour ce site qui me rend de précieux services :wink:

par Cyrano » 26 févr. 2007, 08:44

Modération :
dick-perron, si ta question est résolue, pense à ajouter le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.
Tu peux réaliser cette opération en cliquant sur le bouton Image en haut à gauche de ce sujet.

par dick-perron » 26 févr. 2007, 05:33

Je viens de réussir. L'astuce était pourtant très simple:
$rq = "SELECT code_permanent, SUM( devoir + materiel + comportement + cigarette + flanage + retard + expulsion ) AS total FROM rapports GROUP BY code_permanent ORDER BY 'total' DESC ";
Fallait y penser.

Merci à ceux qui se sont penché sur mon problème.

par Hubert Roksor » 26 févr. 2007, 05:29

Ton ORDER BY est incorrect, si tu mets des guillemets alors tu ne te réfères pas à une colonne ou une expression, tu représentes une simple chaîne de caractères (donc ça représente la même valeur pour toutes les lignes). Donne un alias à la somme et utilise l'alias dans le ORDER BY

Code : Tout sélectionner

SELECT code_permanent, SUM(devoir) AS total_devoir, SUM(retard), SUM(materiel), SUM(cigarette), SUM(flanage), SUM(comportement) FROM rapports GROUP BY code_permanent ORDER BY total_devoir DESC

Requête SQL

par dick-perron » 26 févr. 2007, 04:35

Bonjour tout le monde. J'ai un petit problème. Je suis sûr que la réponse est très simple mais je ne trouve pas pour l'instant. Voilà le problème:
voila la requète SQL que je fais:
SELECT code_permanent, SUM(devoir), SUM(retard), SUM(materiel), SUM(cigarette), SUM(flanage), SUM(comportement)
FROM rapports
GROUP BY code_permanent
ORDER BY 'SUM(devoir)' DESC
cela me donne quelque chose comme :
code_permanent SUM( devoir ) SUM( retard ) SUM( materiel ) SUM( cigarette ) SUM( flanage ) SUM( comportement )
LAFV12099005 1 2 1 3 0 0
BASF09559116 7 0 0 1 0 2
GIRJ22038804 1 1 0 0 0 2
BELM09079007 5 0 2 1 0 0
MESE21108900 0 0 0 1 0 0
BASF09559105 2 0 3 1 0 1
Ma question est la suivante:
peut-on avoir, dans une seule requête, le total des rangées ce qui donnerait
LAFV12099005 7 ->(1+2+1+3+0+0)
BASF09559116 10
GIRJ22038804 4

Merci de votre aide