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...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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...
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" <anonymous@discussions.microsoft.com> wrote in message
news:1ed401c3fc40$345380a0$a001280a@phx.gbl...
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...
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...