|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : octobre 2008 Messages : 30 ![]() |
Bonjour à tous,
dans le cadre d'un développement d'une base de saisi de ticket hotline, j'ai développer un site web permettant d'attribuer automatiquement un ticket au personnes les plus compétente, les plus disponible et ayant le moins d'expérience. Voici la requête : Code :
Competence ( $this->type_comp) = "La compétence demandé pour résoudre le problème" par exemple : hardware, imprimante, logiciels ... tickets.etat : un ticket peut avoir plusieur état : 1 - en saisie , 2 - en cours de traitement, 3 - cloturé , 4 - voie de garage , 5 - projet $this->par->param->get_limit() : renvoi la limite max des ticket d'une personne en file d'attente (ici on peut mettre 10 ). DONC : Cette requête me donne la liste des utilisateurs n'étant pas absent, ayant les compétence nécessaire pour résoudre le problème ( trie du niveau ), étant le plus disponible ( nbr décroissant de tickets ) et étant demandeur expérience en cette compétence (exp descendant ) MAIS : lorsqu'un utilisateur possède 0 tickets en état inférieur à 3, il est donc disponible et même si il a les compétences, étant présent, ayant le niveau de hotline suffisant et étant demandeur d'expérience, il n'apparait pas dans la liste a cause du HAVING count(*) qui est null Comment faire pour résoudre mon problème ? J'avoue être dans une impasse |
||
|
|
00
|
|
|
#2 | ||
![]() ![]() |
Quand tu fais une jointure externe et que tu as une condition de restriction sur les données de la table de droite pour une jointure LEFT JOIN ou de gauche pour une jointure RIGHT JOIN, il faut déplacer cette restriction du WHERE vers la condition de jointure ON :
Code :
Attention ! Tu n'as pas mis dans le GROUP BY toutes les colonnes du SELECT ne faisant pas l'objet d'une fonction de groupage ! Les résultats donnés pour les colonnes domaine_competences.niveau et domaine_competences.experience sont donc aléatoires ! Je les ai ajoutés.
__________________
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 |
|
Candidat au titre de Membre du Club
![]() Inscription : octobre 2008 Messages : 30 ![]() |
Ok merci, je test cela de suite
|
|
|
00
|
|
|
#4 |
|
Candidat au titre de Membre du Club
![]() Inscription : octobre 2008 Messages : 30 ![]() |
Ok ca marche nikel,
je te remercie beaucoup. PS : oui absence est bien lié a une table mais pas utilisé ici |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com