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

Requêtes MySQL Discussion :

forum: récupération du nom du dernier topic


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 221
    Par défaut forum: récupération du nom du dernier topic
    Bonjour à tous,

    J'ai de nouveau un problème dans ma requête listant les catégories, sous catégories, dernier sujet, dernier posteur, etc... figurant sur l'index du forum.

    Je n'arrive pas à récupérer les informations losqu'il y a plus de 1 topic dans une catégorie, j'obtiens toujours ceux du 1er topic.

    La requête :
    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
    SELECT C.nom, 
    SC.id,
    SC.nom AS soucat, 
    SC.comment,
    COUNT(DISTINCT(S.id)) AS tt_sujet,
    COUNT(R.id) AS tt_rep, 
    COALESCE(S.nom, ' - ') AS sujet,
    COALESCE(R.auteur, S.auteur, ' - ') AS auteur, 
    COALESCE(DATE_FORMAT(R.date, '%d/%m/%Y %Hh%i'), DATE_FORMAT(S.date, '%d/%m/%Y %Hh%i'), ' - ') AS date
    FROM f_cat AS C
    LEFT OUTER JOIN f_ss_cat AS SC
    ON C.id = SC.id_cat
    LEFT OUTER JOIN f_sujet AS S
    ON SC.id = S.id_ss_cat
    LEFT OUTER JOIN f_reponse AS R
    ON S.id = R.id_sujet
    GROUP BY SC.id
    ORDER BY SC.id, date DESC";
    J'ai essayé de diverses façon, mais sans réussite, je ne comprends pas pourquoi, date DESC ne fonctionne pas

    J'ai testé avec GREATEST(S.date, R.date) DESC ou encore avec un WHERE S.id = (SELECT MAX(id) FROM f_sujet, à chaque fois ça merde quelque part

    Auriez-vous une idée ?

    Merci.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 221
    Par défaut
    Bonjour,

    J'ai un petit peu avancé en ayant réussi à récupérer la date du dernier message, avec un simple MAX.

    Mais maintenant, je ne sais pas comment faire pour récupérer le nom su sujet, et l'auteur du dernier message associé à cette date.

    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
    SELECT C.nom, 
    SC.id,
    SC.nom AS soucat, 
    SC.comment,
    COUNT(DISTINCT(S.id)) AS tt_sujet,
    COUNT(R.id) AS tt_rep, 
    COALESCE(S.nom, ' - ') AS sujet,
    COALESCE(R.auteur, S.auteur, ' - ') AS auteur, 
    COALESCE(GREATEST(DATE_FORMAT(MAX(R.date), '%d/%m/%Y %Hh%i'), DATE_FORMAT(MAX(S.date), '%d/%m/%Y %Hh%i')), ' - ') AS date
    FROM f_cat AS C
    LEFT JOIN f_ss_cat AS SC
    ON C.id = SC.id_cat
    LEFT JOIN f_sujet AS S
    ON SC.id = S.id_ss_cat
    LEFT JOIN f_reponse AS R
    ON S.id = R.id_sujet
    GROUP BY SC.id
    ORDER BY SC.id, date DESC
    Avec un WHERE, est-ce que c'est possible ?

  3. #3
    Membre Expert
    Avatar de Adjanakis
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    739
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2004
    Messages : 739
    Par défaut
    Bonjour,

    Quelle est la version de MySQL ? Cela pour savoir si les requête imbriquées fonctionnent.

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 221
    Par défaut
    C'est la version 5.0

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2005
    Messages
    221
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 221
    Par défaut
    Bonjour,

    Je tente une dernière fois en expliquant ce que je désire obtenir.

    2 tables :

    table1

    id | nom | auteur | contenu | date

    table2

    id | id_table1 | contenu | date


    Dans cette table2 donc, il y a plusieurs lignes ayant en commun l'id_table1

    En quelques mots, le résultat que je souhaite obtenir :

    l'auteur, et la date où le champ date entre les 2 tables est le plus récent.

    Ce que je n'arrive pas à faire, c'est de faire comprendre à MySQL que si la date est la plus récente dans la table1, alors on sélectionne nom et date dans la table1, si elle est plus récente sur la table2 alors on sélectionne nom et date dans la table2.

    Avec des paroles, c'est simple, mais en SQL, j'y arrive pas

    Voilà, c'est une dernière tentative.

  6. #6
    Membre Expert
    Avatar de Adjanakis
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    739
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Avril 2004
    Messages : 739
    Par défaut
    Oups, j'ai oublié de regarder hier soir et là je n'ai plus le temps... Sinon pour exprimer un SI il y a le IF.

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

Discussions similaires

  1. obtenir le nom du dernier dossier dans un chemin
    Par Mitaka dans le forum Langage
    Réponses: 16
    Dernier message: 15/12/2005, 17h05
  2. Récupération du nom d'un formulaire
    Par Crazyblinkgirl dans le forum ASP
    Réponses: 1
    Dernier message: 16/11/2005, 08h15
  3. [C#] [.NET] Récupération des noms de tables d'une base
    Par GuillaumeG dans le forum Windows Forms
    Réponses: 7
    Dernier message: 07/04/2005, 13h31
  4. [XSLT] Récupération du nom du fichier XML analysé
    Par Patkaza dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 26/01/2005, 11h28
  5. Récupération des noms de champs d'une table
    Par Battomura dans le forum SQL
    Réponses: 2
    Dernier message: 24/03/2003, 10h00

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