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

Langage SQL Discussion :

Fonction Access Last en SQL - group with text free field


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Février 2014
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Février 2014
    Messages : 28
    Par défaut Fonction Access Last en SQL - group with text free field
    Hello

    Je bloque sur un sacré probleme SQL qu'MS Access réalise sans probléme via une fonction interne LAST - qui n existe pas en SQL.

    Donc j'ai une table DISCUSSIONS avec 4 champs
    - Discussion = id de la discussion
    - Commentaire = id du commentaire - chaque discussion ayant plusieurs commentaires
    - Date = date du commentaire
    - Txt = le texte du commentaire

    L'objectif est de crée une table qui contient les 4 champs mais uniquement le dernier commentaire de chaque discussion.
    Par exemple sur les premiers enregistrements ci-dessous, l'objectif est de ne sélectionner que ce qui est surligné en vert:

    Nom : 989966table.jpg
Affichages : 151
Taille : 30,1 Ko
    Blague inside - vous remarquerez que les mecs ont pas un vocabulaire très élaboré
    Bon trêve de plaisanteries, avec Access, cela prend 1 minute, il suffit d'utiliser la fonction interne LAST et de l'appliquer a tous les champs sauf l'ID de la discussion qu'on groupe.

    Nom : 192863query.jpg
Affichages : 146
Taille : 23,2 Ko


    Maintenant comment faire en SQL ?!!!

    On a diverses pistes avec select top1 d'une sous table, ou avec max qui peut remplacer last

    Mais a chaque fois le problème c'est de rapatrier le champ Txt sur lequel on ne peut pas faire de regroupement sous peine de se retrouver avec plusieurs entrées par discussion vu que chaque commentaire est différent....

    Quelqu'un aurait il une solution ?

    Voici un échantillon maquillé de la table si certain veulent tester:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Discussion	Commentaire	Date	Txt
    5121624	10528551	03/08/2015	!15
    5115202	10512847	31/07/2015	!15
    5115202	10515924	21/07/2015	!ed
    5109022	10512723	31/07/2015	!e.
    5105199	10491278	28/07/2015	!ul
    5102347	10528278	03/08/2015	!15
    5096132	10465807	24/07/2015	!40
    5096132	10491082	28/07/2015	!ul
    5096048	10468303	24/07/2015	!n.
    5093189	10450602	22/07/2015	!OZ
    5093189	10468872	24/07/2015	!re
    5092970	10452443	22/07/2015	!d.
    5092970	10491044	28/07/2015	!ul
    5090356	10537706	04/08/2015	!p.
    5086841	10468871	24/07/2015	!r.
    5086515	10451717	22/07/2015	!57
    5086515	10465768	24/07/2015	Ak.
    5086515	10522173	02/08/2015	!ss
    5086487	10450301	22/07/2015	!OZ
    5086211	10515918	31/07/2015	!ed
    5081965	10515909	31/07/2015	!ed
    5081642	10465872	24/07/2015	!DD
    5081642	10514454	31/07/2015	!ed
    5074566	10505236	30/07/2015	!ed
    5072378	10522171	02/08/2015	!ss
    5071086	10451962	22/07/2015	!4.
    5071086	10460145	23/07/2015	!n.
    5071086	10465307	24/07/2015	!n.
    5071086	10466872	24/07/2015	!st
    5061729	10409529	15/07/2015	Ded
    Je vous remercie d avance pour votre aide

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 135
    Par défaut
    Une petite recherche dans ce forum te permettrait de découvrir que cette question est très régulièrement résolue
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Février 2014
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Février 2014
    Messages : 28
    Par défaut
    J'ai pas mal cherché et rien trouvé.
    As tu des mots clés à me conseiller ?

  4. #4
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Votre SGBD est bien MS SQL-Server ?

  5. #5
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Février 2014
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Février 2014
    Messages : 28
    Par défaut
    C'est une base d'un progiciel, je m'y connecte avec les drivers MySQL Connector puis je query avec Access et MySQL Workbench

  6. #6
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 604
    Billets dans le blog
    10
    Par défaut
    Essayez comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    select dis.discussion
          ,com.commentaire
          ,com.date  
          ,com.txt
    from discussion dis
    inner join commentaire com
       on com.discussion = dis.discussion
    where com.date =
         (select max(date) 
          from commentaire as subq
          where subq.discussion = com.discussion
            and subq.commentaire= com.commentaire)
    J'imagine que la date du commentaire est bien dans la table commentaires et non dans la table discussion comme indiqué dans le tableau, j'ai en tout cas construit la requête en ce sens.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. fonctions ACCESS en mode SQL
    Par ARFAOUI1953 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 06/04/2013, 16h09
  2. fonction VBA dans du SQL access
    Par kapotocho dans le forum Requêtes et SQL.
    Réponses: 15
    Dernier message: 18/03/2008, 16h15
  3. [Access] Requète SQL Group By, Order By and Co
    Par zoidy dans le forum Langage SQL
    Réponses: 4
    Dernier message: 09/06/2006, 14h37
  4. [SQL Serv2000][Indexation Texte Integral]Choix menu grisé
    Par TreizeSegments dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 22/12/2004, 09h21
  5. fonction qui initialise a blanc zone de texte
    Par access dans le forum Requêtes
    Réponses: 1
    Dernier message: 27/11/2003, 16h36

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