je travaille avec vb 2010 et sql server, et je tente de réaliser une recherche à base d'une requête sql qui devait m'afficher le plus grand numéro de la colonne NUMMODIF.
alors j'ai essayé avec la requête suivante :
SELECT max(nummodif), FROM table WHERE num = '" & recherche & "'
la requête s’exécute normalement, en revanche j'ai un problème dans le cas ou je rajoute une autre colonne pour l'afficher, exemple:
SELECT num, max(nummodif), FROM table WHERE num = '" & recherche & "'
NHenry
Messages postés15048Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention19 mars 2023156 9 mai 2013 à 00:14
Bonjour,
Les fonctions max, min, sum, ... sont des fonctions qui regroupent les résultats, donc, même si il y a plusieurs enregistrements sélectionnés, il y aura une seule ligne retournée.
De fait, tu ne peux pas mélanger les 2 types de champs.
v----Signature--------v----------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list ---
Mon site
Merci pour vos repenses très utiles
Pour les virgules je suis vraiment désolé mais c'est juste une erreur de frappe.
oui effectivement j'ai déjà essayer avec GROUP by, mais si je rajoute la close WHERE la requête ne s’exécute pas.
pour bien expliquer mon cas : voila la table
num nummodif
1 0
1 1
2 0
2 1
2 2
3 0
je voudrai par exemple avoir le numéro de nummodif le plus élevé avec la close WHERE num = '2'
Merci à vous tous pour votre aide
Vous n’avez pas trouvé la réponse que vous recherchez ?
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018220 9 mai 2013 à 14:49
Bonjour,
essaye ce genre :
SELECT ceci,cela,et_encore_ceci FROM ta_table WHERE ceci=(SELECT MAX(ceci) FROM ta_table)
en remplaçant ceci, cela, et_encore_ceci par des champs et ta_table par ta table
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.