|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : août 2004 Messages : 21 ![]() |
Bonjour à tous
Etant plutot très débutant sur SQL, j'ai besoin de vos conseils avisés pour la requête suivante : Sur une table contenant
J'ai essayé de caser un "top 1" mais ca n'est pas accepté dans les requêtes UPDATE ... Quelqu'un peut m'aider ? |
|
|
00
|
|
|
#2 | |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 178 ![]() |
Bonjour SomeoneElseIsHere,
Le "premier" ne veut rien dire, en soi... Pouvons-nous considérer que si Citation:
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : août 2004 Messages : 21 ![]() |
Salut Richard_35, Merci de ta réponse.
Effectivement, le premier ne veut pas dire grand chose quand on veut translater cela en SQL ... Le Campagne_Id est défini une fois pour toutes pour chacun des dossiers, en revanche la Campagne_Date est updatée à chaque intervention sur le dossier, c'est donc bien sur cette valeur qu'il faut que je me base, non sur l'Id ... Cela étant dit, si plusieurs dossiers présentent les deux conditions, je me fiche de savoir lequel va être updaté ... Des idées ? |
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 178 ![]() |
Une première requête R1, groupée par Campagne_Date/Campagne_Flag, sélectionnant Min(Campagne_Id), avec des critères de sélection.
Une seconde requête "mise à jour" R2 qui lie R1 à ta table Campagne, via Min(Campagne_Id)=>Campagne_Id avec UPDATE des valeurs que tu souhaites. Je pense que tu voies l'idée.
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : août 2004 Messages : 21 ![]() |
Merci de ta réponse, et désolé pour mon retour tardif, j'etais en déplacement.
Le problème étant que le champs Campagne_Id n'a rien à voir avec la Campagne_Date, ce dernier pouvant être updaté régulièrement. Je vais essayer de résumer mon besoin afin de voir si je suis sur la bonne piste ou s'il y a plus simple : J'ai une base de 100.000 clients J'ai besoin de faire des campagnes d'appels téléphoniques ciblés sur une (ou plusieurs) partie(s) de ce portefeuille client J'ai une 10aine de conseillers en charge de cette campagne Chaque client doit être traité Est considéré comme traité un client joint (un répondeur, une absence de réponse, etc ... ne sont donc pas considérés comme des evenements sortant le client de la campagne d'appel) Tant qu'un client n'est pas considéré comme traité, il repasse en bas de la campagne Un client considéré comme traité sera supprimé de la campagne La requête dont nous parlons a pour destination d'apposer un flag sur un dossier client permettant au conseiller de s'approprier le dossier le temps de son traitement, ce afin de s'assurer qu'aucun autre gestionnaire ne va le traiter en simultané. Par ailleurs, elle permet d'updater le champs Campagne_Date à la valeur Now() ce afin de repositionner le dossier en fin de campagne. Bien entendu, dès la fin de traitement du dossier (cad dès que le conseiller change de fiche client), le flag est supprimé libérant ainsi le dossier. |
|
|
00
|
|
|
#6 | ||||
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 178 ![]() |
Bonjour SomeoneElseIsHere,
Citation:
Citation:
Tu sembles faire évoluer ta demande initiale. Citation:
Citation:
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com