Problème group by sur un champs de type 'text'

Signaler
Messages postés
12
Date d'inscription
mercredi 17 octobre 2007
Statut
Membre
Dernière intervention
4 septembre 2010
-
Messages postés
12
Date d'inscription
mercredi 17 octobre 2007
Statut
Membre
Dernière intervention
4 septembre 2010
-
Bonjour,

J'ai une procédure stockée qui me permet de faire une view d'une table suite a une recherche FullText.

Le problème est que j'ai besoin d'utiliser une fonction d'agrégation et que pour ce faire je dois faire un group by et qu'un des champs du group by est de type text ce qui est incompatible. Convertir le champs de type text en varchar serait la solution seulement si le champs text est trop grand une erreur "String or binary data would be truncated.
" survient. J'ai bien essayé d'utiliser la fonction left pour ne prendre que les x premiers caractères de mon champ mais il y a aussi une incompatibilité avec le type text.

Est ce que quelqu'un aurait une idée???

MobyWan

2 réponses

Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
28
Salut,

Voici peut etre une idée a étudier.

Tu fais ton groupby sans le texte et apres tu fais une jointure sur le resultat de ton group by.
Et la normalement ça doit resoudre le probleme.

option a etudier, si tu trouves je suis preneur.

Sans la structure des tables c'est un peut difficile de faire un exemple

tu peux utiliser un "max(id) as id" par exemple pour faire la jointure avec la table qui contient le champ texte

select monchamptexte from matable
where id in (select max(id) as id from matable group by unchamp)

ou

select monchamptexte from matable
inner join (select max(id) as id from matable group by unchamp) groupbytable
on groupbytable.id = matable.id

Ces exemples sont des pistes et n'ont pas été testés.
Messages postés
12
Date d'inscription
mercredi 17 octobre 2007
Statut
Membre
Dernière intervention
4 septembre 2010

Merci pour ces solution mais en fait il suffisait de forcer le cast en varchar sur le champs de type text et a ce moment il ne renvoi pas l'erreur a propos du résultat tronquer.

MobyWan