PeterBaileyUk
asked on
Integrate two queries
This sql server query gets the words that I want to pass to the lower query am struggling to do that
select TW.ClientCode,tw.word - sequence column here from next bit of sql
from Tblwords TW
where clientcode='54553002'
group by TW.ClientCode, TW.ClientCode,tw.word
declare
@string varchar(1000)='OCEAN' this would become tw.word
select
(
select
cast(ascii(substring(@string,N,1)) as varchar(5))+','
from
[dictionary].[dbo].[fnTally]() nr
where
nr.N<=len(@string)
FOR XML PATH('')
) as ascii_seq
This question does not contain enough details and simple English to be actionable. Please revisit the question and ask again..
try this.
declare @string varchar(1000)='OCEAN' this would become tw.word
select @string = tw.word
from Tblwords TW
where clientcode='54553002'
group by TW.ClientCode,tw.word
select
(
select
cast(ascii(substring(@string,N,1)) as varchar(5))+','
from
[dictionary].[dbo].[fnTally]() nr
where
nr.N<=len(@string)
FOR XML PATH('')
) as ascii_seq
Try this
select tw.word, scr
from Tblwords TW
CROSS APPLY
(
SELECT
scr FROM
(
select
cast(ascii(substring(tw.word,N,1)) as varchar(5))+',' scr
from
[dictionary].[dbo].[fnTally]() nr
where
nr.N<=len(tw.word)
FOR XML PATH('')
)ascii_seq
)t
where clientcode='54553002'
group by TW.ClientCode,scr,tw.word
ASKER
This id ID: 41799397 an excellent solution gives me the ascii summed sequence per group of words.
I need to do the same now but at letter level.
my first query gives
<TW ClientCode="54553002" word="OCEAN" />
<TW ClientCode="54553002" word="RACE" />
<TW ClientCode="54553002" word="T6" />
<TW ClientCode="54553002" word="XC90" />
i was hoping I could extract the sequence of the ascii letters in a new column:
OCEAN sequence = 79, 67, 69, 65, 78
RACE =82, 65, 67, 69
ID: 41800856 had error
Msg 8155, Level 16, State 2, Line 17
No column name was specified for column 1 of 'ascii_seq'.
Msg 207, Level 16, State 1, Line 7
Invalid column name 'scr'.
I need to do the same now but at letter level.
my first query gives
<TW ClientCode="54553002" word="OCEAN" />
<TW ClientCode="54553002" word="RACE" />
<TW ClientCode="54553002" word="T6" />
<TW ClientCode="54553002" word="XC90" />
i was hoping I could extract the sequence of the ascii letters in a new column:
OCEAN sequence = 79, 67, 69, 65, 78
RACE =82, 65, 67, 69
ID: 41800856 had error
Msg 8155, Level 16, State 2, Line 17
No column name was specified for column 1 of 'ascii_seq'.
Msg 207, Level 16, State 1, Line 7
Invalid column name 'scr'.
Which post are you referring?
Try this
select tw.word, scr
from Tblwords TW
CROSS APPLY
(
select
cast(ascii(substring(tw.word,N,1)) as varchar(5))+',' scr
from
[dictionary].[dbo].[fnTally]() nr
where
nr.N<=len(tw.word)
FOR XML PATH('')
)y
where clientcode='54553002'
group by TW.ClientCode,scr,tw.word
ASKER
its saying:
Msg 8155, Level 16, State 2, Line 16
No column name was specified for column 1 of 'y'.
Msg 207, Level 16, State 1, Line 17
Invalid column name 'scr'.
Msg 207, Level 16, State 1, Line 2
Invalid column name 'scr'.
Msg 8155, Level 16, State 2, Line 16
No column name was specified for column 1 of 'y'.
Msg 207, Level 16, State 1, Line 17
Invalid column name 'scr'.
Msg 207, Level 16, State 1, Line 2
Invalid column name 'scr'.
Try this
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,2,'')
AS cusr
from Tblwords TW
where clientcode='54553002'
group by TW.ClientCode,tw.word
ASKER
ASKER
if i do this it works, that proves out the function itself, apart from the , at the end
use Dictionary
select
cast(ascii(substring('OCEAN',N,1)) as varchar(5))+','
from
[dictionary].[dbo].[fnTally]() nr
where
nr.N<=len('OCEAN')
FOR XML PATH('')
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
That got it can the end comma the redundant one be removed ? i will post another question for that if you want
Okies fine. So Are you done with this question. If yes could you please one answer as accepted solution. and raise another question. ?
Great! Thanks !
Great! Thanks !