rekete sql bug

rekete sql bug - SQL/NoSQL - Programmation

Marsh Posté le 23-10-2002 à 22:37:12    

Code :
  1. select a.pseudo as pseudo_top ,a.last_poster as last_poster, a.sujet as sujet, a.id as id, a.max(page) as maxpage, b.pseudo as pseudo_rep, c.email as email from topics a, reponses b, membres_ob c where a.email_rep = '1' or b.email_rep = '1' and a.id = b.topic_id and (a.pseudo = c.pseudo or b.pseudo = c.pseudo)"


 
pk ce ki est en rouge fait bugge la rekete ?

Reply

Marsh Posté le 23-10-2002 à 22:37:12   

Reply

Marsh Posté le 23-10-2002 à 22:39:27    

max est une fonction, pas un champ de a. Mets plutot : max(a.page).

Reply

Marsh Posté le 23-10-2002 à 22:40:38    

marche tjs pas, ca fait une erreur de group ou qqchose comme ca :/ :(

Reply

Marsh Posté le 23-10-2002 à 22:45:50    

Ah oui, depuis quelques version, mysql veut des group by [:proy]  
Faudrait mettre un 'group by a.id' à la fin de la requête, mais t'auras plus toutes les réponses liées à un topic.
Fais 2 requêtes, ou alors détermine le max au moment du parcours du résultat.

Reply

Marsh Posté le 23-10-2002 à 22:48:28    

bon je vais faire 2 requetes, ca m'a l'r + simple merci de ton aide :jap:

Reply

Marsh Posté le 27-10-2002 à 14:33:52    

mrbebert a écrit a écrit :

Ah oui, depuis quelques version, mysql veut des group by [:proy]  
Faudrait mettre un 'group by a.id' à la fin de la requête, mais t'auras plus toutes les réponses liées à un topic.
Fais 2 requêtes, ou alors détermine le max au moment du parcours du résultat.



ca a toujours été le cas pour le GROUP BY :heink:


Message édité par joce le 27-10-2002 à 14:34:05

---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Marsh Posté le 27-10-2002 à 14:47:16    

joce a écrit a écrit :

ca a toujours été le cas pour le GROUP BY :heink:



A mon boulot, j'avais des requêtes avec un count qui passaient bien, et qui ne passaient plus après un changement de version [:proy]

Reply

Marsh Posté le 27-10-2002 à 15:49:21    

Reply

Marsh Posté le 28-10-2002 à 09:56:15    

Pour prendre un exemple :
avec une table définie comme ceci :

create table test(Id int not null, value int);


la requête suivante :

select Id, count(*) from test where Id=1;


passait sur la version 3.21.33, mais ne passe plus sur la version 3.23.52 ("Mixing of GROUP columns (MIN(),MAX(),COUNT()...) with no GROUP columns is illegal if there is no GROUP BY clause" )
 
Voila, c'était juste ca [:proy]

Reply

Marsh Posté le 28-10-2002 à 14:54:59    

au putain 3.21 :eek2:  
 
tu vas chercher loin quand même :D


---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed