|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : octobre 2002 Messages : 14 ![]() |
Bonjour,
j'ai une requête que je n'arrive pas à écrire :-( J'ai 2 tables Client et Commande, un clé unique client dans la table Client, et une clé avec doublon client dans Commande Chaque client a un Type Je voudrais pour chaque statut avoir la liste des nombres de commandes différents triés par Type et nombre de commandes Ex : Gold 10 cmdes Gold 12 cmdes Gold 15 cmdes Silver 1 cmdes Silver 5 cmdes Silver 6 cmdes Silver 8 cmdes ............... Si ça vous tente, merci d'avance. |
|
|
00
|
|
|
#2 |
![]() ![]() |
Composition des tables et requête que tu as essayée, conformément aux règles de ce forum, STP !
__________________
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 | ||
|
Invité de passage
![]() Inscription : octobre 2002 Messages : 14 ![]() |
t_clients (code, cli_type, cli_nom)
t_cmdes (id, code, montant) Code :
Je suis pas très doué mais en général je m'en sors mais là j'ai vraiment pas d'idée :-( |
||
|
|
00
|
|
|
#4 |
|
Membre émérite
![]() Inscription : août 2008 Messages : 835 ![]() |
La liste des nombres de commande... selon quoi? Par client? Si c'est le cas ajoutez le code client dans le regroupement.
|
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Responsable de service informatique Inscription : janvier 2009 Messages : 1 081 ![]() |
Bonjour,
Dans quelle colonne se trouve le statut de la commande ? Tatayo. |
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : octobre 2002 Messages : 14 ![]() |
en fait je veux le total par type de client (cli_type)
ex : Les clients code cli_type 1 Gold 2 Gold 3 Silver 4 Silver 5 Silver Les commandes code (client) le reste on s'en fiche 1 1 2 3 3 4 3 5 ma requête doit me donner Gold 1 (1 commande pour le client 2) Gold 2 (2 commandes pour le client 1) Silver 1 (1 commandes pour els clients 4 et 5) Silver 3 (3 commandes pour le client 3) |
|
|
00
|
|
|
#7 | ||
|
Membre Expert
![]() Responsable de service informatique Inscription : janvier 2009 Messages : 1 081 ![]() |
Pff, c'est pas très clair:
Citation:
Citation:
Si tu veux le nombre de commande par type de client, le résultat sera: Gold 3 (les clients 1 et 2) Silver 5 (les clients 3,4 et 5) Pourquoi les clients 1 et 2 sont séparés ? Pourquoi le client 3 n'est pas compté avec les clients 4 et 5 ? Pourquoi ces deux derniers sont regroupés ? Tatayo. |
||
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : octobre 2002 Messages : 14 ![]() |
si mon résultat est bien ce que je veux : pour chaque type de client, tous les nombres de commandes possible et pas la somme des commandes par type de client (ça j'y arrive)
Dans mon exemple 4 et 5 sont regroupés car ils sont de même type et ont eu tous les une seule commande pour essayer de clarifier ma demande : avoir pour tous les clients, leur nombre de commande distinguer ces différents nombres de commande par type de client est ce que c'est plus clair ? |
|
|
00
|
|
|
#9 | ||
![]() ![]() |
C'est toujours pas clair !
Lis la phrase en bleu de ma signature, respire un grand coup et reformule clairement ta demande ! Citation:
Citation:
Donc on ne comprend toujours pas ta demande !
__________________
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
|
|
|
#10 | ||
|
Invité de passage
![]() Inscription : octobre 2002 Messages : 14 ![]() |
ok :-) j'espère que je serais plus clair, mais je tourne tellement avec ce problème ....
un client a un type (Gold, Silver, ...) un client a 0-n commandes dans la table t_cmdes (liaison sur le champs code dans les 2 tables) si je fais Code :
sur cette liste, je voudrais ensuite faire un regroupement par type de client pour avoir au final pour chaque type de client les différents nombre de commandes des clients ayant ce type Dans mon exemple, cela donnerait : 1 Gold 2 Gold 3 Silver 4 Silver 5 Silver Les commandes code (client) le reste on s'en fiche 1 1 2 3 3 4 3 5 Le regroupement par client 1 2 cmdes 2 1 cmde 3 3 cmdes 4 1 cmde 5 1 cmde Ensuite par type Gold 1 (1 commande pour le client 2 de type Gold) Gold 2 (2 commandes pour le client 1 de type Gold) Silver 1 (1 commandes pour les clients 4 et 5 de type Silver) => je ne veux qu'une seule ligne car les clients 4 et 5 sont de même type et ont le même nombre de commande Silver 3 (3 commandes pour le client 3 de type Silver) |
||
|
|
00
|
|
|
#11 | ||
|
Invité de passage
![]() Inscription : octobre 2002 Messages : 14 ![]() |
peut être pour simplifier :-)
si j'avais la table suivante code, type, nombre de commandes ça reviendrait à faire Code :
|
||
|
|
00
|
|
|
#12 | |||
![]() ![]() |
Dans ta dernière requête, le GROUP BY ne sert à rien puisque tu groupes sur toutes les colonnes du SELECT !
![]() En plus contrairement à ce que je comprends maintenant de ta demande, tu n'as plus les clients ! Citation:
Ce que tu peux avoir facilement en SQL, c'est un regroupement par type et par client, donc plusieurs lignes pour un type : 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
|
|
|
#13 |
|
Invité de passage
![]() Inscription : octobre 2002 Messages : 14 ![]() |
Je suis vraiment désolé de ne pas arrivé à être clair
j'avais oublié le distinct dans la requête type n'est pas dans le fichiers des commandes mais dans le fichier des clients à partir de mes 2 tables, il faudrait que j'arrive à une où j'aurais pour chaque client son nombre de commandes Ensuite je fais un regroupement pour avoir toutes les combinaisons type de client + nbre de commandes Le client en lui même ne m'intéresse pas, c'est uniquement son type qui est important. |
|
|
00
|
|
|
#14 | ||
![]() ![]() |
Donc en clair tu veux le nombre de commandes par type ?
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
|
|
|
#15 |
|
Invité de passage
![]() Inscription : octobre 2002 Messages : 14 ![]() |
héhé pas exactement
le client A de type Gold a eu 3 cmdes le client B de type Gold a eu 3 cmdes le client C de type Silver a eu 2 cmdes le client D de type Silver a eu 3 cmdes je veux Gold 3 cmdes Silver 2 cmdes Silver 3 cmdes je veux toutes les combinaisons type de client / nbre de cmdes |
|
|
00
|
|
|
#16 | ||
![]() ![]() |
Code :
Quelle logique conduit à ce besoin ?
__________________
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
|
|
|
#17 |
|
Invité de passage
![]() Inscription : octobre 2002 Messages : 14 ![]() |
une demande de ma maitrise d'ouvrage, moi je cherche pas à comprendre j'essaye de faire :-)
ta requête me fait avancer un peu, le hic c'est qu'elle me ramène plusieurs fois la même combinaison type / nbre de commandes et tous les nbres de commande sont à 1 :-( |
|
|
00
|
|
|
#18 |
|
Invité de passage
![]() Inscription : octobre 2002 Messages : 14 ![]() |
J'ai rajouté le distinct, super, ça me donne exactement ce que je voulais.
Merci beaucoup, et désolé d'avoir été si peu clair. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com