|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Futur Membre du Club
![]() Inscription : septembre 2006 Messages : 88 ![]() |
Bonjour.
J'ai un souci pour faire une requête sous Sql Serveur. J'ai ceci: ColonneA ColonneB ColonneC AZERTY0101 1 2 AZERTY0101 1 3 AZERTY0101 1 4 AZERTY0101 1 5 AZERTY0101 1 6 AZERTY0101 1 7 AZERTY0101 1 8 AZERTY0101 1 9 AZERTY0101 2 11 AZERTY0101 3 14 AZERTY0101 3 15 AZERTY0202 1 2 AZERTY0202 2 5 AZERTY0202 2 6 AZERTY0202 3 9 AZERTY0202 3 10 AZERTY0202 4 13 et je voudrais ceci: ColonneA ColonneB ColonneC ColonneD AZERTY0101 1 2 1 AZERTY0101 1 3 0 AZERTY0101 1 4 0 AZERTY0101 1 5 0 AZERTY0101 1 6 0 AZERTY0101 1 7 0 AZERTY0101 1 8 0 AZERTY0101 1 9 0 AZERTY0101 2 11 1 AZERTY0101 3 14 1 AZERTY0101 3 15 0 AZERTY0202 1 2 1 AZERTY0202 2 5 1 AZERTY0202 2 6 0 AZERTY0202 3 9 1 AZERTY0202 3 10 0 AZERTY0202 4 13 1 Je souhaite donc avoir en ColonneD la valeur 1 pour chaque couple différent de ColonneA et ColonneB avec la valeur minimal de ColonneC et la valeur 0 le reste du temps. Avec cette requête je n'ai que mes valeurs = 1 Code :
AZERTY0101 1 2 1 AZERTY0202 1 2 1 AZERTY0202 2 5 1 AZERTY0202 3 9 1 AZERTY0202 4 13 1 Comme puis-je faire pour avoir les valeur en 0? Merci. |
||
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 1 690 ![]() |
Bonjour,
Dans votre résultat attendu, pourquoi 0 pour ces deux lignes : AZERTY0101 2 11 0 AZERTY0101 3 14 0 n'est-ce pas plutôt 1 ? (il n'y a pas de couple AZERTY0101/2 ayant une colonne C inférieurs a 11...) Est-ce que cette requete vous donne ce que vous attendez ? Code :
|
||
|
|
10
|
|
|
#3 |
|
Futur Membre du Club
![]() Inscription : septembre 2006 Messages : 88 ![]() |
Effectivement, je me suis trompé dans mon exemple! Je l'ai corrigé.
Votre requête fonctionne à merveille, il faut vraiment que je boss sur les instructions Partition (et WITH...) avec lesquels j'ai des soucis! Merci beaucoup. Bonne soirée. |
|
|
00
|
|
|
#4 |
|
Futur Membre du Club
![]() Inscription : septembre 2006 Messages : 88 ![]() |
Bonjour.
J'ai oublié de préciser que je dois exécuter cette requête sur un serveur 2005 (pas de problème) mais également sur un serveur 2000, qui ne reconnait pas la fonction RANK. J'ai trouvé quelques exemple de contournement, mais n'arrive pas à les appliquer. Pouvez-vous m'aider? Cordialement. |
|
|
00
|
|
|
#5 | ||
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 1 690 ![]() |
sans fonction fenêtrée, vous pouvez faire comme ça :
Code :
|
||
|
|
00
|
|
|
#6 |
|
Futur Membre du Club
![]() Inscription : septembre 2006 Messages : 88 ![]() |
Merci énormément, ça fonctionne
Je vous souhaite une agréable journée. |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com