Dotclear

Ticket #173 (closed defect: fixed)

Opened 14 years ago

Last modified 14 years ago

Erreur SQL lors de la récupération de la TDM par liste alpha

Reported by: Tomtom33 Owned by: Moe
Priority: normal Component: plugin:multiToc
Severity: normal Keywords:
Cc:

Description

La requête utilisée pour récupérer la liste alphabétique pour la TDM des billets marche parfaitement pour une base en MySQL.

Par contre, si la base est en PostgreSQL, il semble qu'il y ai un problème avec la condition GROUP BY (voir le post su le forum :  http://forum.dotclear.net/viewtopic.php?pid=256050#p256050)

Change History

comment:1 Changed 14 years ago by Moe

  • Owner changed from moe to Moe
  • Status changed from new to assigned

Le message d'erreur en anglais :

ERROR: column "p.post_id" must appear in the GROUP BY clause or be used in an aggregate function

Et en français :

ERREUR: la colonne « p.post_id » doit apparaître dans la clause GROUP BY ou doit être utilisé dans une fonction d'agrégat

comment:2 Changed 14 years ago by Moe

  • Owner Moe deleted
  • Status changed from assigned to new

Je suis désolé, je n'ai pas trouvé de solution. Apparemment PostgreSQL n'accepte pas qu'on sélectionne des colonnes (comme post_id) dont la valeur peut varier.

Voir  http://www.postgresql.org/docs/8.3/static/sql-select.html#SQL-GROUPBY et  http://bytes.com/groups/postgresql/400509-field-must-appear-group-clause-used-aggregatefunction

J'ai essayé de faire des requêtes avec DISTINCT :

DISTINCT ON (post_id) post_id

Mais ça affiche quand même une erreur ...

comment:3 Changed 14 years ago by Moe

  • Owner set to Moe
  • Status changed from new to assigned

J'ai trouvé un plan B. \o/

comment:4 Changed 14 years ago by Moe

  • Status changed from assigned to closed
  • Resolution set to fixed

(In [1189]) MultiToc? 1.2.8 :

  • fixed bug with PostgreSQL by using PHP to simulate GROUP BY function (closes #173)
Note: See TracTickets for help on using tickets.

Sites map