OVH Cloud OVH Cloud

Problème de requête...

1 réponse
Avatar
Johann
Avec MSSql, je dois faire une requ=EAte avec un=20
regroupement. Or, il y a un champs ntext, ce qui cr=E9e un=20
message d'erreur lors du regroupement. J'ai donc utilis=E9=20
ceci afin de ruser :
SUBSTRING(NormeReCa, 0, 255) + SUBSTRING(NormeReCa, 255,=20
510) + SUBSTRING(NormeReCa, 510, 760) +SUBSTRING
(NormeReCa, 760, 1000) AS Z1
Ceci afin de ne prendre que les 1000 premiers caract=E8res=20
de mon champs. La requ=EAte fonctionne, mais les "portions"=20
du champs ne se suivent pas...
Quelqu'un peut m'expliquer ?
Ou me donner une autre solution ?
Merci d'avance...

1 réponse

Avatar
Sylvain Lafontaine
Les champs ntext ne sont pas admis dans les regroupements, à cause de leurs
tailles potentiels.

Il faut que vous utilisiez une sous-requête pour effectuer votre
regroupement, excluant le champs ntext, et raccoler ensuite ce dernier à
partir du résultat obtenu, genre:

SELECT t1.*, t2.NormeReCA

FROM table t2 INNER JOIN
( SELECT Id, sum (t1.valeur), ... FROM table Where ... Group by Id)
As t1
ON t1.ID = t2.Id

S. L.

"Johann" wrote in message
news:1ed401c3fc40$345380a0$
Avec MSSql, je dois faire une requête avec un
regroupement. Or, il y a un champs ntext, ce qui crée un
message d'erreur lors du regroupement. J'ai donc utilisé
ceci afin de ruser :
SUBSTRING(NormeReCa, 0, 255) + SUBSTRING(NormeReCa, 255,
510) + SUBSTRING(NormeReCa, 510, 760) +SUBSTRING
(NormeReCa, 760, 1000) AS Z1
Ceci afin de ne prendre que les 1000 premiers caractères
de mon champs. La requête fonctionne, mais les "portions"
du champs ne se suivent pas...
Quelqu'un peut m'expliquer ?
Ou me donner une autre solution ?
Merci d'avance...