IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

erreur suite à un select MAX() dans sqlserver 2005


Sujet :

MS SQL Server

  1. #1
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2007
    Messages
    696
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2007
    Messages : 696
    Points : 222
    Points
    222
    Par défaut erreur suite à un select MAX() dans sqlserver 2005
    Bonjour,
    j'ai une probleme avec cette requete.
    elle s'execute parfaitement en MySQL, mais sous sqlserver, elle abouti à une erreur !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT TOP 10 sujet.id_sujet, lib_sujet, membre_forum.ref_mb_forum, pseudo_util, archivage_sujet, id_sondage, MAX(date_message) AS date_message
    FROM sujet, membre_forum, message_forum
    WHERE id_section = '2'
    AND archivage_sujet = '0'
    AND membre_forum.ref_mb_forum = sujet.ref_mb_forum
    ORDER BY MAX(date_message) ASC
    apparemment il n'est pas possible d'utiliser une clause MAX() en présence d'autres colones dans le SELECT...
    de meme pour le ORDER BY, ca coince u_u
    Connaitriez-vous une methode pour corriger cette requete ?

    merci

  2. #2
    Membre actif
    Inscrit en
    Février 2009
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 224
    Points : 269
    Points
    269
    Par défaut
    bonjour,
    La clause ORDER BY n'accepte pas une fonction d'aggrégation, testez simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SELECT TOP 10 sujet.id_sujet, lib_sujet, membre_forum.ref_mb_forum, pseudo_util, archivage_sujet, id_sondage, MAX(date_message) AS dateMessage
    FROM sujet, membre_forum, message_forum
    WHERE id_section = '2'
    AND archivage_sujet = '0'
    AND membre_forum.ref_mb_forum = sujet.ref_mb_forum
    ORDER BY dateMessage ASC

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 772
    Points : 52 732
    Points
    52 732
    Billets dans le blog
    5
    Par défaut
    Il est ahurissant de constater les méfaits de MySQL !!! Permettre un calcul d'agrégation dans un ORDER BY est une vaste connerie ! Encore une fois grâce à MySQL on apprend à faire de la merde. A quand le respecte des normes SQL par MySQL ???

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. select max dans un insert
    Par *alexandre* dans le forum Requêtes
    Réponses: 5
    Dernier message: 14/04/2012, 18h20
  2. récupérer une base supprimée dans SQLServer 2005
    Par luron dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 25/03/2009, 09h35
  3. problème de requette dans sqlserver 2005
    Par mbello dans le forum Développement
    Réponses: 3
    Dernier message: 27/11/2008, 14h19
  4. Réponses: 0
    Dernier message: 08/09/2008, 13h46
  5. probleme selection max dans recordset
    Par marcuscircus dans le forum VBA Access
    Réponses: 8
    Dernier message: 04/08/2008, 17h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo