Accueil > Forum > > > > Probleme de regroupement
Probleme de regroupement
vendredi 1 février 2008 à 13:10:25 |
Probleme de regroupement

gatita_dev
|
Bonjour, j'ai un souci avec une requête de selection qui contient la fonction d'agrégation Max J'ai une table devis(id_devis, id_client, date_devis , montant) Je veux selectionner le devis le plus récent de chaque client Voilà ma requête select id_devis, id_client, max(date_devis) , montant from devis group by id_client mais ça marche pas, il me retourne une erreur, que toutes les colonne doivent être contenu dans la fonction d'agrégat, mais si je les met toutes, alors il m'affiche tous les devis. j'espére que je me suis bien expliquée, et merci de m'apporter votre aide
|
|
samedi 2 février 2008 à 22:48:39 |
Re : Probleme de regroupement

yann_lo_san
|
Réponse acceptée !
Salut,
-- Exemple : -- on a le client '100' avec les devis 1 et 2 (le 2 est le plus récent) -- et le client '200' avec les devis 3, 4 et 5 (le 4 est le plus récent)
declare @devis table ( id_devis int, id_client int, date_devis datetime, montant money ) insert into @devis values(1,100,'30/12/2007', 100.00) insert into @devis values(2,100,'28/01/2008', 150.10) --> le + récent insert into @devis values(3,200,'01/01/2008', 110.00) insert into @devis values(4,200,'29/01/2008', 105.10) --> le + récent insert into @devis values(5,200,'01/01/2006', 10.00)
-- on fait une jointure sur le regroupement intéressant (ID_CLIENT, DATE_DEVIS) -- et TOUS les champs (pour pouvoir tout afficher et pas que l'id client et la date)
select affiche.id_devis, affiche.id_client, convert(varchar,affiche.date_devis,103) as 'date_devis', affiche.montant from @devis affiche join (select regroup.id_client, max(regroup.date_devis) as 'date_devis' from @devis regroup group by regroup.id_client) ref on affiche.id_client = ref.id_client and affiche.date_devis = ref.date_devis order by affiche.id_client
-- Résultat !
2 100 28/01/2008 150.1000 4 200 29/01/2008 105.1000
|
|
lundi 4 février 2008 à 10:02:28 |
Re : Probleme de regroupement

gatita_dev
|
j'ai pas bien compris ta requête, normalement j'ai une seule table c'est quoi regroup et affiche, ça me retourne une erreu de syntaxe
|
|
lundi 4 février 2008 à 20:00:00 |
Re : Probleme de regroupement

yann_lo_san
|
Réponse acceptée !
Salut,
Ceci est du TRANSACT-SQL (sql-server 2000/2005) Aucune erreur de syntaxe.
- affiche est l'ALIAS de la table temp @devis sans regroupement. - regroup est l'ALIAS de la meme table avec regroupement.
Cela s'appelle une table INLINE. cad on se sert des champs d'un select comme d'une table.
Info, tu ne PEUX PAS faire un select avec GROUP BY sans avoir la liste de selection dans le group by en question.
Donc on crée une sous-table avec le bon regroupement :
select r.id_client, max(r.date_devis) from @devis r group by r.id_client
Puis on selectionne avec la table exterieure tout les champs que l'on veut afficher.
Bonne chance...
|
|
mardi 5 février 2008 à 09:22:26 |
Re : Probleme de regroupement
|
Cette discussion est classée dans : probleme, requête, id, devis, regroupement
Répondre à ce message
Sujets en rapport avec ce message
3 tables 1 requête [ par kclito ]
bonjours, (j'avoue que je ne savais pas si je devais mettre ça dans le forum php ou sql ....) Je vous explique mon problème J'ai 3 tables CATEGORIE
Requête sur deux indices pointant sur une même table [ par dompro ]
Bonjour,Voici ce que je recherche: Rencontre avec comme champs Id_Eng1 et Id_Eng2 Engagement avec Id_Eng, Lb_Eng, Id_Org Organisation avec
requête sur le résultat d'une requête [ par sev622 ]
Bonjour, J'ai un problème dans la construction de ma requête. J'ai une table avec 2 champs numériques : id_p, id_f Je veux compter le nombre d'id_p qu
Problème avec une requête sql..... [ par emmanuel9 ]
Bonjour à tous, En faite j'ai une table Personne : ID | GROUPE_ID | ORDRE et dessus je fais une requête : SELECT ID FROM PERSONNE WHERE....... et
Problème avec uen requête... [ par emmanuel9 ]
Bonjour à tous, J'ai pose une question y'a pas longtemps sur le forum, on m'a repondu et effectivement ca marche, le problème c'est que je viens de m'
Probleme de requête avec INSERT [ par emmanuel9 ]
Bonjour à tous, J'aurais voulu savoir si il est possible de créer une requête de ce type : INSERT INTO TABLE(NB) VALUE (SELECT MAX(MONTANT) FROM DEPEN
problème de requête [ par emmanuel9 ]
Bonjour à tous, J'ai un problème de requête : J'ai la table CHAINE : validateur_id | ordre | groupe_id | autorise1 &n
Question requête Mysql [ par AgentSmith ]
Bonjour à tout les programmeurs SQL... Je vous solicite pour une quéstion simple voir une question de debutant. Ma question ce porte sur une recherche
requette de regroupement - problème [ par bename ]
Bonjour,j'ai créé une requette qui regroupe deux champs et qui trie le troisième, mais le groupement se déforme apres le trie, le resultat me tri le
requête SELECT: résultats tronqués... [ par wolflinger ]
Bonjour,J'ai un soucis d'affiche avec des formulaires html/php.Mais je pense que le problème provient de la requete SQL.Je m'explique :Via un formulai
Livres en rapport
|
Derniers Blogs
[MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA[MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA par cyril
Le deuxième keynote du mix fut très riche en contenu. Internet Explorer 9 Juste un après le lancement de Internet Explorer 8, Microsoft a dévoilé les nouveautés de Internet Explorer 9. Désormais, IE supportera HTML5, SVG et CSS3. L'élément ...
Cliquez pour lire la suite de l'article par cyril CERTIFICATIONS BETA .NET 4CERTIFICATIONS BETA .NET 4 par KooKiz
Les inscriptions pour les certifications beta .NET 4 ont commencé. L'inscription est offerte pour les examens suivants : - 71-511, TS: Windows Applications Development with Microsoft .NET Framework 4 - 71-515, TS: Web Applications Development with...
Cliquez pour lire la suite de l'article par KooKiz [MIX 2010] - MICROSOFT TRANSLATOR TECHNOLOGY PREVIEW V2[MIX 2010] - MICROSOFT TRANSLATOR TECHNOLOGY PREVIEW V2 par redo
J'imagine que la plupart d'entre vous connaissent bien et utilisent le service de traduction de Google, mais connaissez-vous celui de Microsoft . Microsoft Translator ? Effectivement, Microsoft nous annoncé le lancement version 2 de la Technologie Preview...
Cliquez pour lire la suite de l'article par redo LANCEMENT EN PREVIEW DE CYCLONE LORS DES TECHDAYS 2010!LANCEMENT EN PREVIEW DE CYCLONE LORS DES TECHDAYS 2010! par MPOWARE
Toutes les vidéos de ce lancement sont en ligne!
Partie I - Intro
http://www.youtube.com/watch?v=LkQzTQ8T6CA
Partie II - Démo 1
http://www.youtube.com/watch?v=drAhYQ7lqvo
Partie III - Démo 2
http://www.youtube.com/watch?v=c8KM_1Gqybc...
Cliquez pour lire la suite de l'article par MPOWARE
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|