|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Inscription : mars 2006 Messages : 6 ![]() |
Bonjour,
Je ne m'en sors pas de ma requete SQL (server 2008) pour la procedure stockée (et pourtant c'est simple). J'ai une table de messages avec les colonnes : "Expéditeur / Destinataire / Date / Message" Je peux donc avoir plusieurs lignes dedans comme : "Expéditeur / Destinataire / Date / Message" --------------------------------------- Pierre / Marc / 15 mai / xxx Pierre/ Marc / 17 mai / yyy ou même à l'envers si j'ai : Marc / Pierre / 16 mai / zzz (Car ce n'est pas toujours Pierre qui écrit à Marc, Marc peut aussi écrire à Pierre. Tout comme Pierre peut aussi ecrire à Simon : Pierre / Simon / 2 juin / nnn Ce qui m'intéresse, c'est de faire une requete qui me donne la page de "correspondance" de Pierre. Donc juste les correspondances de pierre avec les autres ou des autres avec pierre. En sortie je voudrais une table aux colonnes : "Date / Correspondant / Nb Messages" Donc si je prends les données de ce que j'ai cité, ca devrait me rendre : "Date / Correspondant / Nb Messages" ------------------------------------------ 2 juin / Simon / 1 17 mai / Marc / 3 Merci de votre aide |
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé
![]() dba Inscription : juillet 2007 Messages : 2 522 ![]() |
Code :
À noter que je n'ai pas gérer le cas où Machin s'écrit à lui-même...
__________________
les règles du forum - mode d'emploi du forum Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur) JE NE RÉPONDS PAS aux questions techniques par message privé. Écrire en français sur un forum est une marque minimale de respect. |
||
|
|
00
|
|
|
#3 | ||
![]() ![]() ![]() David BARBARINExpert SQL Server Inscription : août 2005 Messages : 3 724 ![]() |
Bonjour,
Une solution plus simple peut etre ? Code :
|
||
|
10
|
|
|
#4 | |||||
|
Membre chevronné
![]() Serge LESPAGNARDConsultant informatique Inscription : janvier 2004 Messages : 588 ![]() |
Citation:
Et pour avoir le résultat sur 3 champs, comme demandé : Code :
|
|||||
|
|
00
|
|
|
#5 |
![]() ![]() ![]() David BARBARINExpert SQL Server Inscription : août 2005 Messages : 3 724 ![]() |
Bon globalement on pourrait aussi voir s'il est pas intéressant de faire des union all pour pouvoir profiter d'éventuels index de la table au lieu d'avoir des prédicats à base de OR.
++ |
|
00
|
|
|
#6 | ||||
|
Inscription : mars 2006 Messages : 6 ![]() |
Merci pour vos réponse, on approche du resultat meme si c'est pas encore ca.
En prenant la technique de "7gyY9w1ZY6ySRgPeaefZ", la requete adaptée est : Code :
date/usager2/Nbmessages ----------------------------- 17 jan / emilie / 1 16 jan / emilie / 1 15 jan / emilie / 1 5 jan / marcel / 1 1 jan / francis / 1 17 jan / emilie / 3 5 jan / marcel / 1 1 jan / francis / 1 En prenant le modele de SLE la requete est : Code :
Le résultat est : Correspondant / Date / NBmess ------------------------------ emilie / 17 jan / 1 emilie / 16 jan / 1 emilie / 15 jan / 1 marcel / 5 jan / 1 francis / 2 jan / 1 emilie / 17 jan / 3 marcel / 5 jan / 1 francis / 2 jan / 1 Merci pour vos nouveaux conseils. |
||||
|
|
00
|
|
|
#7 | |||
|
Membre chevronné
![]() Serge LESPAGNARDConsultant informatique Inscription : janvier 2004 Messages : 588 ![]() |
Citation:
Code :
|
|||
|
|
00
|
|
|
#8 |
|
Inscription : mars 2006 Messages : 6 ![]() |
Excellent SLE !
Merci |
|
|
00
|
|
|
#9 |
|
Membre chevronné
![]() Serge LESPAGNARDConsultant informatique Inscription : janvier 2004 Messages : 588 ![]() |
Juste pour info, pour mettre la discussion en Résolu, il ne faut pas éditer le titre mais cliquer sur le bouton "Résolu"
![]()
|
|
|
00
|
|
|
#10 |
|
Inscription : mars 2006 Messages : 6 ![]() |
Ben ca tombe bien car en fait ce n'est pas résolu...
Pour ce que j'ai énoncé, c'est bon, j'ai bien : emilie / 17 jan / 3 marcel / 5 jan / 1 francis / 2 jan / 1 Mais dans ma table de messages j'ai d'autres champs : Lu : champ date qui contient la date a laquelle le message a été lu. Reste à 'null' si non lu Dans le résultat j'ai besoin d'une autre colonn epour dire si le message a été lu. Si le dernier n'est pas lu (par exemple dans la derniere réponse de emilie), je veux que cela apparaisse avec un lu à 0 ou un nonlu à 1 Cela me permettra de mettre la ligne de ce correspondant en surbrillance, s'il reste un msg a lire. Merci |
|
|
00
|
|
|
#11 | |||||
|
Expert Confirmé
![]() dba Inscription : juillet 2007 Messages : 2 522 ![]() |
Citation:
Autant faire simplement : Code :
__________________
les règles du forum - mode d'emploi du forum Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur) JE NE RÉPONDS PAS aux questions techniques par message privé. Écrire en français sur un forum est une marque minimale de respect. |
|||||
|
|
00
|
|
|
#12 |
|
Inscription : mars 2006 Messages : 6 ![]() |
Merci
Mais ca ne résoud pas mon probleme de faire apparaitre si une corresponance contient un ou plusieurs messages non lus. Quelle solution adopter ? Merci de votre aide |
|
|
00
|
|
|
#13 | ||
|
Expert Confirmé
![]() dba Inscription : juillet 2007 Messages : 2 522 ![]() |
Code :
__________________
les règles du forum - mode d'emploi du forum Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur) JE NE RÉPONDS PAS aux questions techniques par message privé. Écrire en français sur un forum est une marque minimale de respect. |
||
|
|
00
|
|
|
#14 | ||
|
Inscription : mars 2006 Messages : 6 ![]() |
Si je retranscris ton code avec mes noms de champ cela donne :
Code :
Mais la ca ne va pas du tout. Le résultat liste toutes les lignes : date u1 u2 nbMes nbLus 2011-01-15 00:00:00.000 pierre emilie 1 0 2011-01-17 00:00:00.000 pierre emilie 1 0 2011-01-18 00:00:00.000 pierre emilie 1 1 2011-01-01 00:00:00.000 pierre francis 1 1 2011-01-05 00:00:00.000 pierre marcel 1 0 |
||
|
|
01
|
|
|
#15 | ||
|
Expert Confirmé
![]() dba Inscription : juillet 2007 Messages : 2 522 ![]() |
Dites donc, rien ne vous empêche aussi de travailler de votre côté ce qui a été mis à votre disposition, au lieu d'attendre que ça vous tombe tout cru dans le bec...
Code :
__________________
les règles du forum - mode d'emploi du forum Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur) JE NE RÉPONDS PAS aux questions techniques par message privé. Écrire en français sur un forum est une marque minimale de respect. |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com