PeterBaileyUk
asked on
remove comma at end of query output
I have this query and its output is great but would like to not have the end comma
select TW.ClientCode,tw.word,
((
select
cast(ascii(substring(tw.word,N,1)) as varchar(5))+','
from
[dictionary].[dbo].[fnTally]() nr
where
nr.N<=len(tw.word)
FOR XML PATH('')
) )
AS cusr
from Tblwords TW
where clientcode='54553002'
group by TW.ClientCode,tw.word
Peter, looks like you changed something from the solution I provided you yesterday. I had the comma at the beginning and the STUFF function were intended to remove the first comma.
You can still use the STUFF function with your adapted query but you need to provide the correct parameters:
STUFF ( character_expression , start , length , replaceWith_expression )
STUFF ( character_expression , start , length , replaceWith_expression )
Vitor, put it back, this is not against current rules, it's not a link to a competitive site but to a blog article, and it explains STUFF in all completeness of how to use it. I couldn't write it better, so why not simply point there?
Bye, Olaf.
Bye, Olaf.
ASKER
its a different sequence, I moved forward in the design yours gave perfectly
the ascii totals for each word and gave the sequence.
I moved onto character sequencing so that I could detect
'SE' VS 'ES' and the ascii summing doesnt work there but character sequencing does.
so this solution does that, I tried combining yours but couldnt do it and I think we are a third of a day apart so missed each other.
the ascii totals for each word and gave the sequence.
I moved onto character sequencing so that I could detect
'SE' VS 'ES' and the ascii summing doesnt work there but character sequencing does.
so this solution does that, I tried combining yours but couldnt do it and I think we are a third of a day apart so missed each other.
Well surely is not elegant but it should do the job
SELECT ClientCode
SELECT ClientCode
,Word
,SUBSTRING(cusr, 1, LEN(cusr) - 1)
FROM (
SELECT TW.ClientCode
,tw.word
,(
(
SELECT cast(ascii(substring(tw.word, N, 1)) AS VARCHAR(5)) + ','
FROM [dictionary].[dbo].[fnTally]() nr
WHERE nr.N <= len(tw.word)
FOR XML PATH('')
)
) AS cusr
FROM Tblwords TW
WHERE clientcode = '54553002'
GROUP BY TW.ClientCode
,tw.word
) Source
Please try this , I have used stuff
--
select TW.ClientCode,tw.word,
Stuff
((
select
cast(ascii(substring(tw.word,N,1)) as varchar(5))+','
from
[dictionary].[dbo].[fnTally]() nr
where
nr.N<=len(tw.word)
FOR XML PATH('')
),1,1,'' )
AS cusr
from Tblwords TW
where clientcode='54553002'
group by TW.ClientCode,tw.word
--
Vitor, put it back, this is not against current rules, it's not a link to a competitive site but to a blog articleOlaf it was hard for me to delete your comment because I know you're not a kind of a google answer guy but the rule states about Blind Links and not a link to a competitive site (that's another rule). We as Experts when providing links to articles we need to add something more than just the link itself.
Cheers
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Understood, Vitor, but you are not forced to live by the rules literally, if you see the article speaks for itself. It's stupid to repeat anything the article said just to accompany it with own words. It's a useful link and thus not against the notion and meaning of the rule, it's also not a lengthy page where it's hard to pick out the needed answer.
You're misusing your power here in my oppinion, even though you just live by the rules. That's rude.
Bye, Olaf.
You're misusing your power here in my oppinion, even though you just live by the rules. That's rude.
Bye, Olaf.
Peter you could used the same solution for this problem also. In fact it was Pawan provided you even he left an space after the comma and that's why you have the 2 in STUFF's length parameter.
ASKER
Apologies for that Vitor. I made reference to the id's in the posts of course.